【问题标题】:how to get the last element id value with jquery?如何使用 jquery 获取最后一个元素的 id 值?
【发布时间】:2012-03-12 22:07:28
【问题描述】:

我有几个这样的 div:

测试 测试 测试 测试

我正在添加一个新的 div:

function ajax() { 
    $.ajax({  
        url: '/test/',
        type: 'GET',
        dataType: "json",
        processData: false,
        success: function(data) {   

            var firstDiv = $('.test').find("div:first");
            var lastId = firstDiv.attr("id");
            console.log(lastId); 

            var out = '';

            $(data).each(function(i) { 
                messageid = data[i].messageid;
                message = data[i].message;

                if (messageid != lastId){
                    if(null != message)
                    {
                        out += '<div id="'+ messageid +'"</div>';
                        $('.test').append(out);
                    }   
                }
            });
        }
    });
    window.setTimeout("ajax()",1000);
}

基本上,如果essageid != lastId 并且有一个message 将一个带有id 的新div 附加到主test div。

firstDiv 假设获取第一个 div 的 id 值,它确实可以,但是一旦新的 div 带有新消息 firstDiv 不会更新到新的 id 值,而是保留旧的.

知道如何始终获取最后一个 div id 的最后一个值,即使新 div 是即时添加的?我不知道如何在这里使用live()delegate()

谢谢

【问题讨论】:

    标签: javascript ajax delegates jquery


    【解决方案1】:

    检查最后一个 div,而不是第一个。

    var firstDiv = $('.test').find("div:last");
    

    您的另一个选择是使用 prepend 而不是 append。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 1970-01-01
      相关资源
      最近更新 更多