此问题已在此处找到答案:
queryselectorall和getelementsby*方法返回什么((10个答案)
11小时前关门了。
我试图按类名查找元素,并在用户按下按钮后打印一些元素。我要打印的文本位于我调用的方法的数组中。
为什么下面的代码不打印该元素中的文本?
<html>
<script>
function perform(){
let fruits= ['apple','mango','kiwi','jackfruit'];
document.getElementsByClassName('king').innerHTML= fruits[1];
}
</script>
<body>
<p class='king'>inflate me</p>
<button onclick='perform()'>click to see</button>
</body>
</html>
5条答案
按热度按时间8zzbczxx1#
许多html元素可以具有相同的类。所以
有两种方法可以解决这个问题
抓取列表中的第一项
doDocument.getelementbyclassname(“某物”)[0]。innerhtml='您想要的任何内容'
我建议给元素一个id,然后
document.getelementbyid('something').innerhtml='which your want'在本例中,它将只返回单个元素
f1tvaqid2#
问题出在选择器上。
brvekthn3#
你可以用这个:
javascript与getelementbyclassname混淆,因此如果只显示一个元素,则应使用getelementbyid。
smtd7mpg4#
这种方式:
41zrol4v5#
document.getElementsByClassName('king')
返回一个数组中的多个元素(即使html中只有一个元素),因此javascript不知道要将内容添加到哪些元素中。在您的情况下,请使用:
为了得到结果。
不需要的提示:如果您确定只使用一个元素,请使用
document.getElementById
相反