我是Javascript的新手,我尝试了以下代码,它适用于<div>
元素但不适用于<P> and <h1> elements
<script type="text/javascript">
function PrintText(){
document.getElementById('heading').innerText = 'Hello World';
}
</script>
<body>
<div id="heading"></div> // Works
<h1 id="heading"></h1> // Not Working
<P id="heading"></P> // Not Working
<button type="button" onclick="PrintText()">Submit</button>
</body>
当我对document.getElementById('heading').innerHTML= 'Hello World';
元素使用<P> and <h1>
时,上述脚本有效(使用innerHTML
代替innerText
)
为什么innerText
属性不适用于<p> and <h1>
元素?
答案 0 :(得分:5)
第一个建议是不要在同一页面的多个元素上放置相同的ID。
为什么?
因为当document.getElementById()
浏览器查找在找到该ID的第一个元素时停止。
第二个建议是:
更改
innerText
要。
textContent
innerText
无法跨浏览器工作。最好使用标准方式将文本放入textContent
。
答案 1 :(得分:0)
这里有问题的是你正在使用ID。 ID是独一无二的。 ID无法重复使用。如果要一次分配多个元素,请为它们指定相同的类,并在Javascript代码中按类调用它们。这应该可以解决您的问题,因为Javascript不希望多个元素具有相同的ID,因此它只编辑第一个元素。