Javascript 使用jQuery将Div值的行转换为数组
例如: 我有一个可变数量的行,每个行有3个div,类如下:Javascript 使用jQuery将Div值的行转换为数组,javascript,jquery,associative-array,Javascript,Jquery,Associative Array,例如: 我有一个可变数量的行,每个行有3个div,类如下: <div class="row> <div class='date'>1/2/2018</div> <div class='event'>concert</div> <div class='act'>Pink Floyd</div> </div> <div class="row> <div class='date'&
<div class="row>
<div class='date'>1/2/2018</div>
<div class='event'>concert</div>
<div class='act'>Pink Floyd</div>
</div>
<div class="row>
<div class='date'>12/5/2017</div>
<div class='event'>dj set</div>
<div class='act'>Moby</div>
</div>
<div class="row>
<div class='date'>5/5/2018</div>
<div class='event'>movie</div>
<div class='act'>Ant-Man</div>
</div>
12/5/2017
dj集
莫比
要选择包含类行的所有div,请使用以下命令
var rows=$('div.row');
要循环使用它,请使用
var array=[];
for(var i=0;i <rows.length;i++){
$.each(rows,function(){
var children=this.children('div');
$.each(children,function(){
var index=this.attr('class');
var value=this.text();
array[i][index]=value;
});
});
}
var数组=[];
对于(var i=0;i您可以使用map
在.row
div中循环。使用reduce
将内部div分组为js对象
var result=$('.row').map(函数(){
返回$(this).find('div').toArray().reduce(函数(c,v){
c[$(v.attr('class')]=$(v.text();
返回c;
}, {});
}).get();
console.log(结果);
1/2/2018
音乐会
平克弗洛伊德
12/5/2017
dj集
莫比
5/5/2018
电影
蚂蚁人
Array.from($('div'))你能告诉我更多关于它是如何工作的吗。它不是也会用div类收集div吗?你说我如何使用jQuery将它们收集到一个数组中
-就是这样…如果你需要特定的输出格式,请在你的问题中包括它,以及你为解决自己的问题所做的任何实际尝试在这里,这种方法是有效的。有没有一种方法可以让它成为一个关联数组?有没有一种简单的方法可以让它们以逗号分隔的形式输出?这很好地得到了以下几点:虽然我不清楚如何在php中循环一个列表。有没有一种方法可以让它成为一个关联数组?我在这里设置了它,但我不确定是什么我应该把代码放在刹车板上,怎么放