我想将Element的childNodes转换为javascript中的数组。
如何将childNodes转换为数组?有什么好主意吗?
答案 0 :(得分:1)
不需要下划线,我想到了这一点:[].concat.apply([],nodelist)
然而,它不适用于所有浏览器,因为较旧的浏览器需要数组而不是数组类对象,所以我只是使用它:
function toarray(obj) {
var l = obj.length, i, out = [];
for(i=0; i<l; i++) out[i] = obj[i];
return out;
}
这可能是最简单的方式,也是最兼容的方式。
答案 1 :(得分:1)
我用_.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));