JavaScript HTML DOM 节点列表

mag-

mag-HTML DOM NodeList object mag-NodeList

mag- object ay isang listahan ng node na nakakuha mula sa dokumento.

mag- NodeList object at HTMLCollection object ay halos magkapareho. mag-Kung ginagamit ang mag-getElementsByClassName()

mag- ang lahat ng browser ay magbibigay ng method, ang ilan (lalayong browser) ay magbibigay ng NodeList object sa halip na HTMLCollection. mag-childNodes mag- ang atributo ay magbibigay ng NodeList object.

mag- ang karamihan ng browser ay magbibigay ng NodeList object. mag-querySelectorAll() mag- ang method ay nagbibigay ng NodeList object.

mag- ang mga sumusunod na code ay pinili ang lahat ng <p> na node sa dokumento:

mag-Example

mag-var myNodeList = document.querySelectorAll("p");

亲自试一试

mag- ang mga elemento sa NodeList ay maaaring ma-access sa pamamagitan ng index number.

mag-Kung gusto mong ma-access sa ikalawang <p> na node, maaari mong gumawa ng ganito:

mag-y = myNodeList[1];

mag-Komento:mag- ang index ay nagsisimula sa 0.

mag-HTML DOM Node List haba

length mag- ang atributo ay nagtatala ng bilang ng mga node sa listahan ng node:

mag-Example

mag-var myNodelist = document.querySelectorAll("p");
document.getElementById("demo").innerHTML = myNodelist.length;

亲自试一试

mag-Example na nagpapaliwanag:

  • mag-Likha ng listahan ng lahat ng <p> na elemento
  • mag-Ipakita ang haba ng listahan

length mag- ang atributo ay napaka-mahalaga kapag gusto mong mag-susuri ng mga node sa listahan ng node:

mag-Example

mag-Baguhin ang kulay ng bakod ng lahat ng <p> na elemento sa listahan ng node:

mag-var myNodelist = document.querySelectorAll("p");
mag-var i;
mag-for (i = 0; i < myNodelist.length; i++) {
    myNodelist[i].style.backgroundColor = "red";
}

亲自试一试

HTMLCollection 与 NodeList 的区别

HTMLCollection(前一章)是 HTML 元素的集合。

NodeList 是文档节点的集合。

NodeList 和 HTML 集合几乎完全相同。

HTMLCollection 和 NodeList 对象都是类数组的对象列表(集合)。

它们都有定义列表(集合)中项目数的 length 属性。

它们都可以通过索引 (0, 1, 2, 3, 4, ...) 像数组那样访问每个项目。

访问 HTMLCollection 项目,可以通过它们的名称、id 或索引号。

访问 NodeList 项目,只能通过它们的索引号。

只有 NodeList 对象能包含属性节点和文本节点。

节点列表不是数组!

节点数组看起来像数组,但并不是。

您能够遍历节点列表并像数组那样引用其节点。

不过,您无法对节点列表使用数组方法,比如 valueOf()push()pop()join()