如何选择最后一个大孩子?

时间:2014-07-16 10:15:53

标签: jquery jquery-selectors

考虑这个简化

<div class="conversation">
    <div class="chat_message_container">
       <div class="chat_message bubble">1</div>
    </div>
    <div class="chat_message_container">
       <div class="chat_message bubble">2</div>
    </div>
   <div class="chat_message_container">
       <div class="chat_message bubble">3</div>
   </div>
</div>

现在我选择每个 .chat_message.bubble中的最后一个.conversation,因为我有多个.conversation

所以$('.conversation .chat_message.bubble:last-child').each(..)  不好,因为每个泡泡都是.chat_message_container的最后一个孩子,它会遍历所有泡泡,我如何只获得每个.conversation的最后一个孩子?

4 个答案:

答案 0 :(得分:1)

:last-child应用于.chat_message_container元素:

$(".conversation > .chat_message_container:last-child > .chat_message.bubble")
.each(function() {
    // ...
});

答案 1 :(得分:0)

您可以使用.map()

使用

$('.conversation').map(function () {
    return $(this).find('.chat_message.bubble:last'); //Find last element
}).each(function(){
    alert($(this).text())
});

DEMO

答案 2 :(得分:0)

试试这个..

var num = $(".conversation .chat_message_container:last-child .chat_message").text();
alert(num);

小提琴:http://jsfiddle.net/L7Ps9/

答案 3 :(得分:0)

选择它:

$('.conversation .chat_message_container:last-child .chat_message.bubble:last-child')

或者为了简单起见:

$('.conversation > div:last-child .chat_message.bubble:last-child')