Javascript jQuery动态内容

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(){});但是没有比这个函数更好

我将在我的内容上创建一个快速搜索

我有以下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(){});但是没有比这个函数更好的了。
    $.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.
    
            });