DOM基本点随笔:Node类型
- 如何访问保存在NodeList中的节点
通过中括号访问:var firstChild = someNode.childNodes[0];//这种常用,感觉和数组差不多
通过item访问:var secondChild = someNode.childNodes.item(1);
var count = someNode.childNodes.length;
注意:每个节点都有一个childNodes属性,其中保存着一个NodeList对象。NodeList是一种类数组对象,用于保存一组有序的节点,可以通过位置来访问这些节点。但是它不是Array的实例。
2. NodeList对象转换成数组
arguments对象使用Array.prototype.slice()方法可以将其转化为数组,同理;
var arrayOfNodes = Array.prototype.slice.call(someNode.childNode,0);//IE8及之前的版本无效
要想都是用该怎么做呢?
function convertToArray(nodes){
var array = null;
try{
arary = Array.prototype.slice.call(nodes,0);
}catch(ex){
array = new Array();
for(var i=0,len=nodes.length; i<len; i++){
array.push(nodes[i]);
}
}
return array;
}