为什么 `document.getElementByTagName` 不起作用?

问题描述 投票:0回答:1
javascript dom
1个回答
1
投票

您有几个编码错误。 这是一些更正的代码:

 <script>
 var firstItem = document.getElementsByTagName('p')[0];
 firstItem.innerHTML = 'Adding Javascript';
 </script>
  1. 正确的方法是

    document.getElementsByTagName('p')
    。 请注意“Elements”末尾的“s”。

  2. 然后,因为

    document.getElementsByTagName('p')
    返回一个 HTML 集合对象,所以您必须迭代该集合或进入该集合以获取特定的 DOM 对象(我在示例中使用
    [0]
    执行此操作)。

这是一个有效的代码片段:

// change just the first <p> tag
document.getElementById("test1").addEventListener("click", function(e) {
    var firstItem = document.getElementsByTagName('p')[0];
    firstItem.innerHTML = 'Adding Javascript';
});

// change all the <p> tags
document.getElementById("test2").addEventListener("click", function(e) {
    var items = document.getElementsByTagName('p');
    for (var i = 0; i < items.length; i++) {
      items[i].innerHTML = 'Setting All Items';
    }
});
<button id="test1">Change text of first item</button><br><br>
<button id="test2">Change text of all items</button><br><br>
<p>This is some text</p>
<p>This is more text</p>
<p>This is and more text</p>

© www.soinside.com 2019 - 2024. All rights reserved.