如何使用JavaScript连接两个html元素数组
我已经尝试过concat和push方法,但对我不起作用。这就是我想做的:如何使用JavaScript连接两个html元素数组,javascript,html,arrays,push,concat,Javascript,Html,Arrays,Push,Concat,我已经尝试过concat和push方法,但对我不起作用。这就是我想做的: var left = document.getElementById('main-left').children; var right = document.getElementById('main-right').children; var main = left.concat(right); left = [<article class="content">…</article>,
var left = document.getElementById('main-left').children;
var right = document.getElementById('main-right').children;
var main = left.concat(right);
left = [<article class="content">…</article>, <article class="content">… </article>, <article class="content">…</article>]
right = [<article class="content">…</article>, <article class="content">… </article>, <article class="content">…</article>]
var left=document.getElementById('main-left').children;
var right=document.getElementById('main-right').children;
var main=左侧。concat(右侧);
左=[…, … , …]
右=[…, … , …]
您确实应该使用concat,但如下所示:
var left = document.getElementById('main-left').children;
var right = document.getElementById('main-right').children;
left = [].slice.call(left);
var main = left.concat.apply(left, right);
// or even var main = [].concat.apply([], [[].slice.call(left), [].slice.call(right)]);
function logElementArray(){
var leftArray = document.getElementById('left').children;
var rightArray = document.getElementById('right').children;
var mainArray=[];
for(var i=0; i<rightArray.length; i++){
mainArray.push(rightArray[i]);
}
for(var i=0; i<leftArray.length; i++){
mainArray.push(leftArray[i]);
}
}
left
不是数组实例,因此它没有Array.prototype方法,如slice
或concat
,因此需要使用
或者您当然可以简单地使用for loop并在循环中填充新数组。首先看到
left
和right
在任何意义上都不是数组。您必须执行document.querySelectorAll
或document.getElementsByClassName
来获取数组,然后您可以应用类似数组的方法来连接它们。
最好使用:
// `a` into `b`:
for (var i=a.length-1; i >= 0; i--) {
b.unshift( a[i] );
}
getElementById()从不返回数组,因此push和concat在“左”和“右”对象上不可用。您可以尝试以下操作:
var left = document.getElementById('main-left').children;
var right = document.getElementById('main-right').children;
left = [].slice.call(left);
var main = left.concat.apply(left, right);
// or even var main = [].concat.apply([], [[].slice.call(left), [].slice.call(right)]);
function logElementArray(){
var leftArray = document.getElementById('left').children;
var rightArray = document.getElementById('right').children;
var mainArray=[];
for(var i=0; i<rightArray.length; i++){
mainArray.push(rightArray[i]);
}
for(var i=0; i<leftArray.length; i++){
mainArray.push(leftArray[i]);
}
}
函数logElementArray(){
var leftArray=document.getElementById('left').children;
var rightary=document.getElementById('right').children;
var mainArray=[];
对于(var i=0;i,这里有一个代码片段,用于将元素添加到数组中,然后将数组中的元素添加到元素中
如果这是您尝试使用appendChild()执行的操作,则可能会更好
var a=document.getElementsByClassName(“测试”);
var b=“”;
对于(变量i=0;i
.test{
边框:5px纯色矢车菊蓝;
高度:50px;
}
#主要{
边框:5px实心耐火砖;
}
如何获取节点列表并不重要。节点列表是节点列表,而不是数组。