Javascript jQuery动态内容
我将在我的内容上创建一个快速搜索 我有以下HTML代码:Javascript jQuery动态内容,javascript,jquery,html,Javascript,Jquery,Html,我将在我的内容上创建一个快速搜索 我有以下HTML代码: <ul id='dynamic'> <li data-c='a'></li> <li data-c='b'></li> <li data-c='c'></li> </ul> 当我尝试使用$.each()获取“”元素时,被替换的元素返回false; 实际上,我应该是$.live(each,function(){});但是没有比这个函数更好
<ul id='dynamic'>
<li data-c='a'></li>
<li data-c='b'></li>
<li data-c='c'></li>
</ul>
当我尝试使用$.each()获取“
”元素时,被替换的元素返回false;
实际上,我应该是$.live(each,function(){});但是没有比这个函数更好的了。
$.post
请求在另一个函数中,我试图通过$分别获取li
元素;
例如:
$("li").each(function(){
// do stuff.
});
当我通过ajax更改内容时,上面的代码不起作用。
我该怎么办?
编辑:(如果#myElm
的子项删除或替换为其他内容,我的这部分代码将不起作用_
$("#dynamic").find("li").each(function(){
// do stuff
});
“对不起,糟糕的英语”如果使用jQuery>1.7,那么
$('#dynamic').on('click', 'li', function(){
alert('clicked' + $(this).text())
})
$.post对特定url进行异步ajax调用 我认为您正在尝试对尚未加载的内容执行每项操作。 使用同步请求或在“完成”函数中完成您的工作
$.post("ajax.php", { sort:$(this).val() }).done(function(data) { // asynchronous request
$("#dynamic").html(data);
});
$("li").each(function(){ // but $("#dynamic") is not yet updated by ajax due to asynchronous request
// do stuff.
});
将代码更改为
$.post("ajax.php", { sort:$(this).val() }).done(function(data) {
$("#dynamic").html(data);
$("li").each(function(){ //on updation of $("#dynamic") by asynchronous request
// do stuff.
});
});
或者使用$.ajax的同步请求
$.ajax({url:"ajax.php", data:{ sort:$(this).val() },async:false,type:"post",
success:function(){
$("#dynamic").html(data);
}});
$("li").each(function(){ //on updation of $("#dynamic") by sync request
// do stuff.
});
async:false防止异步请求An
。each()
像$(“li”)一样循环。每个(…
将循环循环循环运行时存在的任何li元素,而不管这些元素是否是动态创建的。我不知道“替换的元素返回false”是什么意思,但请显示更多不起作用的代码,并解释从何处(以及何时)调用它。是否还需要一个click事件处理程序,它是jQuery版本,我认为是新元素“li
”是循环外的,每个
都不是working@nnnnnn,我刚刚更新了我的问题,看看这是我使用的两个不同的函数,$(“li”)。每个()都在请求后运行。
$.ajax({url:"ajax.php", data:{ sort:$(this).val() },async:false,type:"post",
success:function(){
$("#dynamic").html(data);
}});
$("li").each(function(){ //on updation of $("#dynamic") by sync request
// do stuff.
});