1

嗨,在我的页面中,我有一个主 div,它有许多子 div。我想根据类名查找每个 div id,即,

<div id="main"> 
 <div id="child1" class="child"> 

</div>
 <div id="child2" class="child"> 

</div>
 <div id="child3" class="child"> 

</div>
</div>

我正在尝试使用以下脚本获取每个 div 的 id。但它只查看第一个 div id

$("#main").each(function() {
    var val = $(this).find(".child").attr("id");
     alert(val);//displays only child1
 });

任何人都可以建议我如何获得每个 div id

4

2 回答 2

6

你正在循环通过主 div 而不是它的子 div 这就是为什么它只获得第一个子 div id

你可以这样做

$.each($("#main .child"),function()
{
   alert($(this).attr('id'));
});

演示

于 2012-11-20T06:50:45.260 回答
1

这是做同样事情的另一种方法。注意使用this.id代替$(this).attr('id')。更简单/更清洁的阅读。

$('#main .child').each( function(){
    alert(this.id);
});

链接到jsbin

注意:最好使用.prop()而不是.attr()在最新版本的 jQuery

于 2012-11-20T06:54:42.387 回答