Jquery获取每个div的子子div并将信息抓取到数组中
我有一些看起来像这样的HTML
我想在javascript中将每个sub_main divs信息拉出到一个数组中。 到目前为止,我将此作为我的jquery代码
$('#main').find('.sub_main').each( function() { alert('hi'); });
警报只是一个应该显示“hi”两次的测试。 但这不起作用。 我也不清楚我如何将两个输入存储在一个javascript数组中。 任何帮助都会很棒! 谢谢,
var array = $('#main input').map(function() { return $(this).val(); }).get();
编辑:
请注意,这将返回#main
下所有input
元素的值。 如果不需要所有input
元素,您可以根据需要使$('#main input')
选择器具体化。
var info = $("#main .sub_main input:text").map(function() { return $(this).val(); }).get(); // get() converts resulting collection into array
你在等待DOM加载吗?
$(document).ready(function(){ $('#main').find('.sub_main').each( function() { alert('hi'); }); });
如果你想拉出’main’div的子div,请使用
$('.main>div')
这将选择所有具有“main”类别的div子项。
为什么不做这样简单的事情:
var firsts = []; var seconds = []; ("#main .sub_main input").each(function(){ var $this = $(this); if($this.is(".sub_name_first"){ firsts.push($this.val()); } else { seconds.push($this.val()); } });
当然,这不是最好的方式,但我只是写了1分钟,它的工作原理