不能用jquery返回li id

Chr*_*abe 0 javascript jquery

我通过ajax提取数据来填充类似facebook的墙式应用程序(或推特墙).

但是当我试图访问第一个li时,我正在变得不确定 - 如果有人能够发现我明显的错误,那将是值得赞赏的

var get_venues = function(){

        $.ajax({
            type: "GET",
            url: '<?=base_url()?>wall/start_to_grab/',
            dataType: "JSON",
            success: function(data) {
                var sel = $("#wall");
                sel.empty();    

                for (var i=0; i < data.length; i++) {

                  sel.append('<li id="'+data[i].post_id +'"> ' + data[i].title + '</li>');

                }


            }
        });
        //start_poll($('ul#wall li:first').attr('id'));
        alert($("ul#wall li:first").attr("id")); // returns undefined
    };
Run Code Online (Sandbox Code Playgroud)

即使我可以在页面上看到元素,代码也会返回undefined.

Jam*_*ice 5

这就是AJAX的工作方式(异步,顾名思义).所述alertAJAX请求返回的响应之前被执行,所以没有li元件已被追加.

移动alertAJAX成功事件处理程序内部.或者,您可以使AJAX请求同步,但这几乎总是不是您想要的.