哪个是将两个文档元素数组合并为一个的最佳方法?

时间:2012-04-13 05:55:41

标签: javascript arrays dom getelementsbyname

var b = document.getElementsByName("button");
var l = document.getElementsByName("link");

将这两个数组的内容合并为一个的最佳方法是什么? 我不想用于循环

1 个答案:

答案 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);