我有一个div的集合属于同一个类和 有表格领域。我希望能够遍历div 同一个类,获取隐藏的表单元素并存储在数组中。
我已创建并在每次迭代后添加到数组的数组对象 但我认为我错在哪里是通过div的迭代 这是结构
<div class="parent_div">
<div class="child_div" id="child_div_1" number="1">
<div class="some_other_div">
</div>
<input id="name_1" type=hidden value="1.0"/>
<input id="name_2" type=hidden value="4.0"/>
</div>
<div class="child_div" id="child_div_2" number="2">
<div class="some_other_div">
</div>
<input id="name_2_1" type=hidden value="1.0"/>
<input id="name_2_2" type=hidden value="4.0"/>
</div>
<div class="child_div" id="child_div_3" number="3">
<div class="some_other_div">
</div>
<input id="name_3_1" type=hidden value="1.0"/>
<input id="name_3_2" type=hidden value="4.0"/>
</div>
</div>//end of parent div
我已经编写了下面的jQuery代码来迭代这些div,但我只是不知道我做错了什么。所以请帮助!
function doSomething() {
var array = {};
var rowCount = $("div .child_div").length;
var rowNumber = 0;
for (i=0; i <= rowCount; i++) {
//doing something...
array[i] = arrayObj (val1,val2,val3,val4,val5,val6);
}
}
答案 0 :(得分:4)
var values = [];
$(".child_div").each(function() {
$(this).find("input:hidden").each(function() {
values.push($(this).val());
});
});
此外,您可能会获得所有输入并映射它们:
var values = $('.child_div input:hidden').map(function (index, el) { return $(el).val(); }).get();
答案 1 :(得分:0)
如果你只想要一个包含“child_div”类的div中所有隐藏输入的数组,你可以这样做:
var array = $('.child_div input:hidden').get();
编辑:...或者,如果您想在创建阵列时执行更复杂的逻辑,$().map()可能会有用。如,
var values = $('.child_div input:hidden').map(function(i, el) {
// return the value of each hidden input
return $(this).val();
}).get();
答案 2 :(得分:0)
$('div .child_div').each(function(i){
// do something
});
答案 3 :(得分:0)
您可以使用each()
方法进行循环。
var $items = $('.myClassName');
var myArray = new Array();
$items.each(function(){
var $hiddenItems = $(this).find('input:hidden');
$hiddenItems.each(function(){myArray.push($(this))});
});