getElementsByTagName 似乎不起作用

getElementsByTagName does not seem to work

谁能解释一下为什么我的代码不起作用!!

当我通过 Id 获取元素时,它工作得很好。但是与 getElementsByTagName() 相同的方法却没有。

此外,如果我使用 querySelector(),它也能正常工作。但是,如果我使用 querySelectorAll() 相同的错误 returns.

test.html:15 未捕获类型错误:无法设置未定义的 属性 'color'

这是我的代码:

<DOCTYPE! html>
<html>
<head>

</head>

<body>
<h1>Hello World</h1>
<p id="par">Hello World</p>

<script>
var par = document.getElementById('par');
par.style.color = "red"
var heading = document.getElementsByTagName("h1");
heading.style.color = "red"
</script>


</body>
</html>

你可以清楚地看到 document,getElementsByTagName returns 一个元素数组,而不是单个元素。

所以你必须遵循正确的索引,否则它会像你的情况一样抛出异常。