我想将 Element 的 childNodes 转换为 javascript 中的数组。
如何将 childNodes 转换为数组?有什么好主意吗?
我想将 Element 的 childNodes 转换为 javascript 中的数组。
如何将 childNodes 转换为数组?有什么好主意吗?
我用 _.toArray() 做到了这一点
html部分:
<div id="testdiv"><div id="t1"></div><div id="t2"></div><div id="t3"></div><div id="t4"></div><div id="t5"></div></div>
js:
var td = document.getElementById("testdiv");
console.log(_.toArray(td.childNodes));
不需要下划线,我想到了:[].concat.apply([],nodelist)
但是,由于较旧的浏览器需要数组而不是类似数组的对象,因此它不适用于所有浏览器,所以我只使用它:
function toarray(obj) {
var l = obj.length, i, out = [];
for(i=0; i<l; i++) out[i] = obj[i];
return out;
}
这可能是最简单的方法,也是最兼容的。