Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何找到Ajax添加内容的子项,然后执行函数_Jquery_Html_Ajax - Fatal编程技术网

Jquery 如何找到Ajax添加内容的子项,然后执行函数

Jquery 如何找到Ajax添加内容的子项,然后执行函数,jquery,html,ajax,Jquery,Html,Ajax,我有html <ul id="main"> <li id="A100"> <ul class="slides"> <li><img1></li> <li><img2></li> </ul> </li> <l

我有html

<ul id="main">
   <li id="A100">
             <ul class="slides">
                     <li><img1></li>
                     <li><img2></li>
             </ul>
   </li> 
   <li id="A99">
             <ul class="slides">
                     <li><img1></li>
                     <li><img2></li>
             </ul>
   </li>
</ul>
我必须使用children()而不是find(),因为我只想在级别1
  • 编辑: 我会在电视上“做点什么”。ajax的成功。(如果这有助于更好地理解问题)

    EDIT2:谢谢你的建议。我找到了这个。甚至在我使用ajax之前,我就在现有的html上“做点什么”。(即A100、A99)

    如果我使用

    $("#main li").each(function() 
        { 
    
            });
    
    它可以像预期的那样工作,但是如果我使用

     $("#main").children("li").each(function() 
            { 
    
                });
    
    它不工作。这里有什么区别?如果我知道这一点,我想我可以解决手头的问题

    这样的东西行吗?我试过了,但没有成功,但可能是我做错了吗

    $("#main li[id$='A99']").nextAll().each(function() 
                { 
    
                    });
    

    你可以这样做。但是,如果您使用AJAX添加它们,并且此函数位于
    document.ready()中,则不会在新元素上调用它。你必须在它们被添加后调用它

    $("#main").children("li[id$='99']").nextAll().each(function(){
        $(this).html("test"); // do something
    });
    

    你可以这样做。但是,如果您使用AJAX添加它们,并且此函数位于
    document.ready()中,则不会在新元素上调用它。你必须在它们被添加后调用它

    $("#main").children("li[id$='99']").nextAll().each(function(){
        $(this).html("test"); // do something
    });
    
    使用以下代码:

    使用此代码:


    如果您不能完全确定
    id
    的数字是否会减少,您可以主动测试
    id
    A00
    )的格式,并且该数字是否小于
    100

    $('#main > li').filter(function () {
        var id = this.id;
        return (/^A\d{2}$/).test(id) && parseInt(id.replace(/[^0-9]/g, ''), 10) < 99;
    }).each(function(){
        // do whatever, for example:
        this.classList.add('selected');
    });
    
    $('#main>li')。过滤器(函数(){
    var id=this.id;
    返回(/^A\d{2}$/).test(id)和&parseInt(id.replace(/[^0-9]/g',),10)<99;
    }).each(函数({
    //做任何事,例如:
    this.classList.add('selected');
    });
    

    参考资料:

    • CSS:
    • JavaScript/DOM:
    • jQuery:

    如果您不能完全确定
    id
    的数字是否会减少,您可以主动测试
    id
    A00
    )的格式,以及该数字是否小于
    100

    $('#main > li').filter(function () {
        var id = this.id;
        return (/^A\d{2}$/).test(id) && parseInt(id.replace(/[^0-9]/g, ''), 10) < 99;
    }).each(function(){
        // do whatever, for example:
        this.classList.add('selected');
    });
    
    $('#main>li')。过滤器(函数(){
    var id=this.id;
    返回(/^A\d{2}$/).test(id)和&parseInt(id.replace(/[^0-9]/g',),10)<99;
    }).each(函数({
    //做任何事,例如:
    this.classList.add('selected');
    });
    

    参考资料:

    • CSS:
    • JavaScript/DOM:
    • jQuery:

    假设ID总是按降序排列,这就可以了

    $("#main").find('#A99').nextAll().each(function(){
        //$(this)... will yield A98, A97
    });
    

    这样就可以了,假设ID总是按降序排列

    $("#main").find('#A99').nextAll().each(function(){
        //$(this)... will yield A98, A97
    });
    

    所以你想找到所有小于A99的ID(找到A98和A97?@Chausser是的。最好将所有ID放在ul(即A98和A97)中的A99之后(而不是“小于”)。“小于”在技术上也是正确的。因此,您要查找所有小于A99的ID,即查找A98和A97吗?@Chausser yes。最好将所有ID放在ul(即A98和A97)中的A99之后(而不是“小于”)。根据爱因斯坦的说法,你是个糟糕的老师,因为你让一个5岁的孩子的事情变得有点复杂;)你能帮我修改2吗?根据爱因斯坦的说法,你是个糟糕的老师,因为你让一个5岁的孩子觉得事情有点复杂;)你能帮我编辑2吗?这会在DOM中正确显示html,但幻灯片图像不会显示。我是在ajax成功后才这么说的,我也不觉得有什么不对(你能看看我在qn中的编辑2吗?@aVC你的编辑2应该能按预期工作。我不知道为什么没有更多信息。你到底想为“做点什么”做些什么?我试图在图像上使用,当用户向下滚动时会加载ajax。我知道,DOM中的html看起来不错,但图像不会显示:(@aVC仅仅使用
    $(“#main li”)有什么错。each()
    如果它工作,这会在DOM中正确显示html,但是幻灯片图像没有显示。我在ajax成功后调用它,我也没有看到任何错误:(你能看看我在qn中的编辑2吗?@aVC你的编辑2应该能按预期工作。我不知道为什么没有更多信息。你到底想为“做点什么”做些什么?我试图在图像上使用,当用户向下滚动时会加载ajax。我知道,DOM中的html看起来不错,但图像不会显示:(@aVC使用
    $(“#main li.)each()
    有什么问题
    $("#main").find('#A99').nextAll().each(function(){
        //$(this)... will yield A98, A97
    });