获取.last()时出错

时间:2016-07-12 13:27:32

标签: javascript jquery html

我有this structure

我想收到最后一条消息,我试图使用.last()函数:

$('#user-chat-' + data.de).find('#load-msgs').last().html()

但是jquery返回div中的所有结果,而不是最后的结果。有人知道为什么我得到这个错误? (选择器是正确的,我得到的结果,但我没有得到最后一个) 谢谢!

4 个答案:

答案 0 :(得分:1)

find('#load-msgs').last() - 返回ID为load-msgs的元素集合的最后一个元素,即无效 / absurd / unwanted。你需要孩子。

使用,

find('#load-msgs div').last()

find('#load-msgs').children().last()

答案 1 :(得分:1)

    $(document).ready(function(){

           $("#load-msgs").last().find('div span').html()

//OR
           $("#load-msgs div span").last().html()    
    })

这是工作fiddle

脚本中的html:

<div class="row" id="load-msgs">
    <div class="col-md-10 col-sm-12 col-xs-12 ">
        <span class="message-box message-other" data-toggle="tooltip" data-placement="right" title="18:28">
         lewpwa </span>
    </div>


    <div class="col-md-10 col-sm-12 col-xs-12 ">
        <span class="message-box message-other" data-toggle="tooltip" data-placement="right" title="18:28">
         oppa   </span>
    </div>


    <div class="col-md-10 col-sm-12 col-xs-12 ">
        <span class="message-box message-other" data-toggle="tooltip" data-placement="right" title="18:36">
         oppa   </span>
    </div>


    <div class="col-md-10 col-sm-12 col-xs-12 ">
        <span class="message-box message-other" data-toggle="tooltip" data-placement="right" title="18:36">
         oppa   </span>
    </div></div>

答案 2 :(得分:0)

find('#load-msgs')只会定位id为load-msgs的元素。您将需要在#load-msgs元素内定位直接子div,然后在返回的div组上使用最后一个选择器或方法。

因为ID是唯一的,您不需要#user-chat选择器,然后在其中找到元素。您可以使用id选择器#load-msgs直接获取元素:

$('#load-msgs > div').last().html()

答案 3 :(得分:0)

试试这个:

$('#user-chat-' + data.de).find('#load-msgs').children('div').last().html();