Javascript连接2个数组
如何连接包含DOM元素的2个数组 我正在尝试解析2个或更多包含Selectbox元素的数组。这是我的示例代码Javascript连接2个数组,javascript,prototype,Javascript,Prototype,如何连接包含DOM元素的2个数组 我正在尝试解析2个或更多包含Selectbox元素的数组。这是我的示例代码 selectboxes = []; for(var i = 0; i < forms.length; i++) { selectboxes = selectboxes.concat(forms[i].getElementsByTagName('select')) } 但它不起作用。有什么提示吗?JavaScript的getElementsByTagName函数不返回数组,而是返回
selectboxes = [];
for(var i = 0; i < forms.length; i++)
{
selectboxes = selectboxes.concat(forms[i].getElementsByTagName('select'))
}
但它不起作用。有什么提示吗?JavaScript的getElementsByTagName函数不返回数组,而是返回一个没有concat方法的节点列表 看看这个答案: 有关如何将它们放入一个数组的示例 我认为最好的解决办法是: -更新您的特定代码-
forms = document.forms;
selectboxes = [];
for(var i = 0; i < forms.length; i++)
{
selectboxes = selectboxes.concat(Array.prototype.slice.call(forms[i].getElementsByTagName('select')));
}
请记住,如果您只是想获取所有选择框,您可以跳过从表单中选择它们,而直接从document.getElementsByTagNameselect中选择它们
当然,您可能会得到不用于表单的选择框,尽管有时选择框用于导航或其他非标准原因。我为数组创建了一个新函数,它工作正常
Array.prototype.merge = function(arr)
{
var len = this.length;
for(var idx = 0; idx < arr.length; idx++)
{
this[len+idx] = arr[idx]
}
return this;
}
可能是我更新了答案的副本,对你有用吗?
result = arr1.merg(arr2)