使用 getElementsByTagName 获取单个元素
我知道如果我们想查找一组元素,getElementsByTagName 就是适合我们的方法,它返回一个 NodeList。但是如果我们正在寻找带有“body”的标签名称,那么为什么我们需要在(“body”)元素后面添加[0]呢? HTML 文档中只有一个 body 标签。
var body = document.getElementsByTagName("body")[0];
body.className = "unreadable";
为什么我们不能像这样在没有索引[0]的情况下编写这段代码
var body = document.getElementsByTagName("body");
body.className = "unreadable";
如果我编写这段代码,则不可读的类将不会添加主体标签...为什么?
I know that if we want to find a group of elements, getElementsByTagName is the method for us and it returns a NodeList. but if we are looking for tag name with "body" , then why we need to add [0] after the ("body") element? There is only one body tag in an HTML document.
var body = document.getElementsByTagName("body")[0];
body.className = "unreadable";
why we cant write this code without index[0] like this
var body = document.getElementsByTagName("body");
body.className = "unreadable";
If i write this code the class unreadable will not be added with body tag ...why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
因为
document.getElementsByTagName
总是返回 NodeList。如果您想找到更简单的方法来检索正文,您可以使用document.body
Because
document.getElementsByTagName
allways returns NodeList. If you want find easier way to retrieve body you can use justdocument.body
getElementsByTagName
[docs] 总是返回一个NodeList
。带有特定标签的元素是否只存在一次并不重要。如果函数的行为不一致,那就糟糕了。
getElementsByTagName
[docs] always returns aNodeList
. It does not matter whether an element with a certain tag exists only once.It would be bad if the function behaved inconsistently.
getElementsByTagName
返回一个 NodeList。里面可能没有任何物品。它可能有一个。可能有很多。您可以通过测试其.length
来查看其中有多少个。如果它有时返回 NodeList,有时返回 ElementNode,那会很混乱。
getElementsByTagName
returns a NodeList. It might have no items in it. It might have one. It might have many. You can see how many are in it by testing its.length
.It would be confusing if it sometimes returned a NodeList and sometimes returned an ElementNode.