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

Square brackets after getElementsByTagName What are they used for?

本文关键字:用于 什么 方括号 getElementsByTagName      更新时间:2023-09-26

我是C#的初学者,最近开始学习JavaScript,遇到了这种情况。我试图通过标签名称获取元素,就像一样

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

这没用。在互联网上研究后,我发现了这个

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

这起到了作用。我的问题是方括号的目的是什么?

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

这里的关键是单词元素

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

[0]的用途是查找该列表中的第一个元素。

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

若那个NodeList中并没有元素,那个么元素将是undefined,下面的代码可以检查它。

免费调试提示

如果你有一个价值观,你不确定它为什么会这样做:

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

你会发现它不是一个元素返回的。

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

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

示例:

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

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

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

函数getElementsByTagName返回一个类型为NodeList的"类数组"对象(行为类似于数组的对象(。

要访问NodeList中作为getElementsByTagName结果的第一个项目,可以使用[0]。(请注意,索引是基于0的(。

确保您首先检查length

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