0

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

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

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

这是jQuery代码

$(文档).ready(函数(){
$.get("file.php", 函数(数据){
$("#div").html(数据);


$("#somediiv").click(function(){
警报(“是的”);
});

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

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

});
});

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

4

2 回答 2

1

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

于 2009-11-20T19:44:52.267 回答
0

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

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

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

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

于 2009-11-20T19:50:36.947 回答