nodelist 有兩種, 一種是動態集合, 一種是靜態集合, 所謂動態集合, 主要是 node.prototype.childnodes; 返回的子節點集合對文件的節點增刪改會即時改變; 而靜態集合則不會, 比如document.queryselectorall();
lang
="en"
>
>
charset
="utf-8"
>
name
="viewport"
content
="width=device-width, initial-scale=1.0"
>
>
documenttitle
>
head
>
>
>
>
1li>
>
2li>
>
3li>
>
4li>
>
5li>
>
6li>
ul>
>
var oul=document.
queryselector
("ul");
var ali1=document.
getelementsbytagname
("li");
//獲取的是動態集合
var ali2=document.
queryselectorall
("li");
//獲取的是靜態集合,快照機制
// 刪除某個元素的寫法:元素的父元素.removechild(元素)
// oul.removechild(ali1[0]);
// 用第乙個獲取ali的方法(ali1)將所有的li全部刪除
// 問題:刪不完,剩下2,4,6
// 原因:動態集合獲取的元素,會隨著元素的變化變數也發生變化。即就是刪除乙個長度就會減少乙個,同時假設全部刪除,後面的元素會往前移。但靜態集合就不會
// for(var i=0;i
// oul.removechild(ali1[i]);
// }
for(
var i=
0;i)// 另一種解決辦法
var alilength=ali1.length;
for(
var i=
0;i)script
>
body
>
html
>
不同的集合效能
許多集合類都提供了相同的功能,例如,sortedlist類和sorteddictionary類的功能幾乎完全相同。但是,其效能常常有很多大區別。乙個集合使用的記憶體少,另乙個集合的元素檢索速度快。在msdn文件中,集合的方法常常有效能提示,給出了以大寫o記號表示的操作事件 o 1 表示無論集合中有多...
不同集合之間的比較
1 list,set都是繼承自collection介面 2 list特點 元素有放入順序,元素可重複 set特點 元素無放入順序,元素不可重複,重複元素會覆蓋 map 沒有繼承 collection 介面,map 提供 key 到 value 的對映,你可以通過 鍵 查詢 值 乙個 map 中不能包...
list集合與queue集合
1 特點 元素是有序 可重複的,因為該集合體系有索引。list體系下listiterator介面在iterator介面基礎上增加了如下方法 void add object o 在指定位置插入乙個元素 2 實現類 arraylist和vector作為list類的兩個典型實現,完全支援之前介紹的list...