getElementsByTagName之后的方括号它们用于什么?

VLK*_*VLK -1 javascript

我是C#的初学者,最近开始研究JavaScript并遇到了这种情况.我试图按标签名称获取元素

var element = document.getElementsByTagName('script');
Run Code Online (Sandbox Code Playgroud)

这没用.经过互联网研究,我发现了这一点

var element = document.getElementsByTagName('script')[0];
Run Code Online (Sandbox Code Playgroud)

哪个有效.我的问题是方括号的目的是什么?

Jer*_*her 7

var elements = document.getElementsByTagName('script');
Run Code Online (Sandbox Code Playgroud)

这里的关键是元素这个词

此方法可以返回名为NodeList的类数组对象中的零个,一个或多个元素.

[0]的用法是找到该列表中的第一个元素.

var element = document.getElementsByTagName('script')[0];
Run Code Online (Sandbox Code Playgroud)

如果没有元素,NodeList那么元素将是,undefined并且下面的代码可以检查它.

免费调试提示

如果你有一个值,你不确定为什么它的表现方式是这样的:

console.log(document.getElementsByTagName('script'))
Run Code Online (Sandbox Code Playgroud)

而且你已经能够看到它不是一个返回的元素.


小智 5

getElementsByTagName()返回节点列表并[0]指示节点列表中的第一个元素

  • @Quentin如果OP不知道方括号做什么......是不是真的是讨论列表与数组的时候了? (4认同)
  • 是的,非常重要的是要注意它不是一个数组,否则OP也会稍后回到那个问题. (4认同)
  • 它返回一个节点列表,而不是一个数组. (2认同)