使用jQuery选择div的直接子节点

时间:2011-12-12 16:44:15

标签: jquery

我正在尝试选择元素的直接子元素。例如,给定DOM结构为:

<div class="track">
   <div class="a"></div>
   <div class="b"></div>
</div>
<div class="track">
   <div class="a"></div>
   <div class="b"></div>
</div>
<div class="track">
   <div class="a"></div>
   <div class="b"></div>
</div>

当用户点击说第一个音轨div时,我如何抓住它下方的直接a和b?

我尝试过使用

$(this).children(".a");

$(this).find(".a");

但它总是抓住对最底层轨道的引用。很感谢任何形式的帮助!谢谢!

编辑:我的问题在我的代码的另一部分中,我暂时引用了一个轨道。因此,当我点击一个轨道时,它会引用一个不同的轨道。谢谢大家的帮助!

3 个答案:

答案 0 :(得分:2)

您对children()的使用是正确的,因此问题必须在您更广泛的实现中,涉及.click()处理程序。你能发布更多的代码吗?

这种事情会起作用:

$('.track').click(function(){
   var trackChildren = $(this).children(); //will get you .a and .b for whichever .track was clicked
});

答案 1 :(得分:2)

Jsfiddle参考

$(".track").click(function(){
    alert($(this).children(".a").html());
    alert($(this).children(".b").html());
})

答案 2 :(得分:1)

您可以查看jsfiddle