首页 文章

jQuery无法捕获div

提问于
浏览
0

我用Ajax得到了动态内容,我将它放在div中,但问题是我对某些子div(来自动态内容)有不同的id . 所以我为这些div添加了选择器,但正如我所说它们是动态加载的,这意味着它们在加载(从另一个文件)并插入div之前在任何地方都不可见 . 插入动态内容时出现问题 . jQuery无法选择这些div :(对我的问题有什么可能的解决方案吗?

嗯,也许我的解释并不好,所以我会用代码说话:D

示例:这是空div <div id="div"></div>

这是jQuery代码

$(document).ready(function(){
$.get("file.php", function(data){
$("#div").html(data);


$("#somediiv").click(function(){
alert("Yeah");
});

$("#somediv").click(function(){
$.get("otherfile.php", function(data){
$("#div").html(data);
});
});

$("#somediv2").click(function(){
$.get("file.php", function(data){
$("#div").html(data);
});
});

});
});

一切都有效,直到新内容出现 . 在加载“file.php”的新内容中,有一个id为“somediiv”的div,当我点击它时,“otherfile.php”将被加载,并且在这个div的内容中还有另一个div id“somediiv”,但是当jQuery无法捕获点击时:(

2 回答

  • 1

    我想你必须使用live() . 或者在 $.get() 的回调中附加事件 .

  • 0

    您希望每个动态加载的div还包含原始div的单击功能吗? powtac是对的,现场活动将帮助你 . 就像是:

    $(".someDivClass").live("click",function(){
      $.get("yourFile",function(data){
        $(this).append(data);
      });
    });
    

    这是假设您要将数据附加到您单击的div,这是没有真正指定的 . 此外,您必须确保返回的数据包含类“someDivClass”的div .

    实时事件注册任何匹配的选择器以及所有未来的匹配(比如动态添加)

相关问题