JavaScript HTML DOM 节点列表

HTML DOM NodeList 对象

NodeList 对象是从文档中提取的节点列表(集合)。

NodeList 对象与 HTMLCollection 对象几乎相同。

如使用 getElementsByClassName() 方法,某些(老的)浏览器会返回 NodeList 对象而不是 HTMLCollection。

所有浏览器都会为 childNodes 属性返回 NodeList 对象。

大多数浏览器会为 querySelectorAll() Mwendo huu hupata vitabu vya NodeList.

Mafanikio ya hii programu yanaona vijuzi vya <p> zote katika mawili:

Mfano

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

亲自试一试

Vitabu katika NodeList inaweza kufikia kwa indidi ya kufikia kwake.

Kuwa tumia vijuzi ya pili ya <p> mwenye kufikia kwake hivi inaweza kuandika:

y = myNodeList[1];

Mafanikio:Indidi ya kwanza inaanza kutoka kwa 0.

Ukurabu wa HTML DOM Node List

length Inadefini ukurabu wa vijuzi katika orodha ya vijuzi:

Mfano

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

亲自试一试

Mfano na maelezo:

  • Pata orodha ya vitu vya <p> zote
  • Onyesha ukurabu wa orodha hii

length Inafaa sana kwa sababu inafaa kumwita vijuzi katika orodha ya vijuzi:

Mfano

Badilisha mabaki ya mbao ya vitu vya <p> kwa rangi ya mabaki ya mabati:

var myNodelist = document.querySelectorAll("p");
var i;
kwa 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, ...) 像数组那样访问每个项目。

Inaweza kusafiri vipengele vya HTMLCollection kwa ajili ya jina, id au namba ya kichwa cha orodha.

Inaweza kusafiri vipengele vya NodeList kwa ajili ya namba za kichwa cha orodha.

Bila kufikia kusomolea vipengele vya NodeList kwa ajili ya orodha ya mitafo, kama

Orodha ya mitafo si orodha!

Orodha ya mitafo inahufiganiwa na orodha, lakini si orodha.

Inaweza kusafiri orodha ya mitafo na kutumia maelezo yao kama orodha.

Tena, hatutafikia kufanya matukio ya orodha ya mifano kwa ajili ya orodha ya mitafo, kama valueOf(),push(),pop() au join().