获取[对象HTMLLIElement]而不是文本。 Javascript功能

时间:2017-07-06 15:58:06

标签: javascript html

您好我有一个简单的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);
}

提前致谢

2 个答案:

答案 0 :(得分:2)

您将结果设置为li对象,您必须在

中获取文本
result.innerHTML = randomItem.textContent;

答案 1 :(得分:1)

如果您只想获得访问<li>

的innerHTML所需的值
result.innerHTML = randomItem.innerHTML;