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

时间:2014-04-30 14:17:44

标签: javascript

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

var element = document.getElementsByTagName('script');

哪个不起作用。在互联网上进行研究后我发现了这个

var element = document.getElementsByTagName('script')[0];

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

4 个答案:

答案 0 :(得分:7)

var elements = document.getElementsByTagName('script');

这里的关键词是元素

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

使用[0]是为了找到该列表中的第一个元素。

var element = document.getElementsByTagName('script')[0];

如果NodeList中没有元素,则元素将为undefined,以下代码可以检查该元素。

免费调试提示

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

console.log(document.getElementsByTagName('script'))

并且您已经能够看到它不是返回的单个元素。

答案 1 :(得分:5)

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

答案 2 :(得分:3)

函数getElementsByTagName返回类型为NodeList的“类似数组”对象(行为类似于数组的对象)。

要访问NodeList中getElementsByTagName的结果中的第一项,您可以使用[0]。 (请注意,索引是从0开始的。)

请务必首先检查length

var elements = document.getElementsByTagName('script')
if (elements.length > 0)
{
  var firstElement = elements[0];
}

答案 3 :(得分:3)

方括号是访问数组特定索引的标准方法。

示例:

var arr = [ "one", "two" , "three" ];
console.log( arr[ 1 ] ); // ouputs "two"

getElementsByTagName函数能够返回NodeList中具有指定标记的多个元素,因此使用方括号可以指定要访问的元素。

NodeList不是数组,但访问它包含的元素与数组相同。使用[0]表示您要访问NodeList中的第一个元素。