2011-12-12 16 views
0

我想選擇一個元素的直接子節點。例如,給定結構爲DOM:使用jQuery來選擇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 class="track"> 
    <div class="a"></div> 
    <div class="b"></div> 
</div> 

當用戶點擊說第一條軌道DIV,我怎麼能抓住眼前的A和B在它之下?

我使用

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

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

嘗試,但它總是抓住引用到最底部的軌道來代替。很感謝任何形式的幫助!謝謝!

編輯:我的問題在我的代碼的另一部分說謊,我暫時參考了一首歌曲。因此,當我點擊某條曲目時,它會引用一條不同的曲目。儘管謝謝大家的幫助!

+4

你可以發佈你的'.click()'代碼和其他相關代碼嗎?此代碼應該可以工作。 – Blender

回答

2

Jsfiddle參考

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

您使用children()是正確的,所以問題必須在您的更廣泛的實現中,涉及.click()處理程序。你能發佈更多的代碼嗎?

這種事情會工作:

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