var b = document.getElementsByName("button");
var l = document.getElementsByName("link");
将这两个数组的内容合二为一的最佳方法是什么?我不想使用 for 循环
var b = document.getElementsByName("button");
var l = document.getElementsByName("link");
将这两个数组的内容合二为一的最佳方法是什么?我不想使用 for 循环
您可以使用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);