getElementByid是否返回NodeList?

时间:2017-07-28 10:57:04

标签: javascript nodes selector nodelist

我知道这是一个简单的问题,但我们都必须从某个地方开始......

我无法找到答案所以我在这里。

document.getElementsByClassName(); 要么 document.getElementsByTagName();

返回NodeLists。

如果您想要访问元素节点,则必须使用引用NodeList中特定节点的索引来访问它。

例如:

HTML

<div id="div1"> <p> some text in here</p> </div>

<div id="div2"> <p> some text in here</p> </div>

<div id="div3"> <p> some text in here</p> </div>

JAVASCRIPT

var x = document.getElementsByTagName("div")[0];

//returns div1

现在,您可以将属性和方法应用于对象节点。

HOWEVER ,如果你要使用

document.getElementByid("div1");

这将返回带有单个单元格的NodeList。

Bur而是返回对象节点div1本身!

因此不需要document.getElementByid("div1")[0];

这是对的吗?

1 个答案:

答案 0 :(得分:1)

是的,你是对的。返回值是对Element对象的引用,如果具有指定ID的元素不在文档中,则返回null。

为什么?因为ID colud只在一个dcument中出现一次或零次,所以只有一个(如果ID存在)元素将返回。