无法使用jquery返回li-id
cant return li id with jquery
我正在通过ajax引入数据,以填充类似facebook的墙类型应用程序(或twitter墙)。
但当我试图访问第一个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
};
即使我可以在页面上看到元素,代码也会返回undefined。
alert
是在AJAX请求返回响应之前执行的,因此没有添加li
元素。
将alert
移动到AJAX成功事件处理程序中。或者,您可以使AJAX请求同步,但这几乎总是不是您想要的。
您的错误是试图在异步请求完成之前访问异步请求的结果。简单地说,当你试图提醒你的ID时,异步请求尚未完成,因此没有附加li。解决方案是在异步请求中调用一个函数来提醒你的ID:
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>');
// Request complete, call handler to alert ID
HandleResponse()
}
}
});
};
function HandleResponse() {
alert($("ul#wall li:first").attr("id")); // returns undefined
}
相关文章:
- 如何将li类更改为li id's在Jquery中
- PHP会话ID变量与AJAX一起返回
- 包含插入的Meteor方法没有返回记录ID作为结果
- AngularJS-工厂中promise ID字段的返回值
- 将外部函数返回的id传递给内部函数
- 使用this和onclick()时不能返回id值
- js组合对象只返回一个id
- 如何获取并返回包含Id的Div
- 如何使用 javascript 或 Jquery 在 LI nodeObject 下返回此跨度的 ID
- 检查地址栏中的字符串是否与 li ID 匹配
- 需要将 JQuery 与 Shopify 一起使用的示例来创建集合并使用返回的 ID 添加产品
- D3 按类选择元素并返回元素 ID
- 无法使用jquery返回li-id
- Listview Get li ID
- 返回html id的输出到php字符串
- jQuery在PC上返回元素ID,在Android上返回'undefined'为什么
- JQUERY 1.7.1切换li id不工作
- 点击返回按钮id-JavaScript
- 在数组中动态存储li id
- 我如何获得一个随机文件's url(从目录&子目录),将其返回为id's href