var b = document.getElementsByName("button");
var l = document.getElementsByName("link");
将这两个数组的内容合并为一个的最佳方法是什么? 我不想用于循环
答案 0 :(得分:3)
您可以使用Array.prototype.slice.call()
将nodeLists
转换为真实数组,然后对它们使用数组操作来组合它们
var b = document.getElementsByName("button");
var l = document.getElementsByName("link");
// make both nodeLists into real arrays
var copyB = Array.prototype.slice.call(b, 0);
var copyL = Array.prototype.slice.call(l, 0);
var combined = copyB.concat(copyL);
工作演示:http://jsfiddle.net/jfriend00/vZ5tb/
或者,有点简短的版本:
var copyB = Array.prototype.slice.call(document.getElementsByName("button"), 0);
var copyL = Array.prototype.slice.call(document.getElementsByName("link"), 0);
var combined = copyB.concat(copyL);