您好我有一个简单的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);
}
提前致谢
答案 0 :(得分:2)
您将结果设置为li
对象,您必须在
result.innerHTML = randomItem.textContent;
答案 1 :(得分:1)
如果您只想获得访问<li>
。
result.innerHTML = randomItem.innerHTML;