Получение [object HTMLLIElement] вместо текста. Функция Javascript

Вопрос: Здравствуйте, у меня есть простая функция javascript, которая выбирает случайный элемент списка в неупорядоченном списке нажатием кнопки. Он отлично работает, консоль выплескивает случайный элемент списка при нажатии кнопки, но когда я пытаюсь отобразить его на странице HTML, все, что я получаю, это странный [объект HTMLLIElement] вместо текста. Цель состоит в том, чтобы отобразить текст

Вопрос:

Здравствуйте, у меня есть простая функция javascript, которая выбирает случайный элемент списка в неупорядоченном списке нажатием кнопки. Он отлично работает, консоль выплескивает случайный элемент списка при нажатии кнопки, но когда я пытаюсь отобразить его на странице HTML, все, что я получаю, это странный [объект HTMLLIElement] вместо текста.

Цель состоит в том, чтобы отобразить текст между элементом списка. Когда я нажимаю кнопку, он выбирает случайный элемент списка, например: <li>5</li> но я бы хотел, чтобы отображалось только 5.

Вот HTML:

<ul id=»list»> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> </ul> <button id=»randomize»>randomize</button> <p id=»result»>hello</p>

и JS:

var randomize = document.getElementById(«randomize»); var listItems = document.getElementById(«list»).getElementsByTagName(«li»); var result = document.getElementById(«result»); randomize.addEventListener(«click», randomizeIt); function randomizeIt () { var randomItem = listItems[Math.floor(Math.random() * listItems.length)]; result.innerHTML = randomItem; console.log(randomItem); }

заранее спасибо

Лучший ответ:

Ну, вы установили результат в объект li, вам нужно получить текст внутри

result.innerHTML = randomItem.textContent; Ответ №1

Если вам просто нужно значение, необходимое для доступа к innerHTML <li>.

result.innerHTML = randomItem.innerHTML;

Оцените статью
Добавить комментарий