就是这样。使用jquery ajax调用我添加了一个新链接<一个id =“new_link>
我想在新添加的链接上使用jquery:
$(document).ready(function(){
$.post("static/js/jquery_call.php", function(data){
$("#div_id").html(data);
});
$("#new_link").click(function(){
..... (and so on)
但它不允许我,因为在生成DOM之后添加了此链接。我可以操纵所有其他链接,但不能操纵新添加的链接。我该如何解决这个问题?
答案 0 :(得分:1)
每隔一天就会提出这个问题。男孩,我从中挤出来了吗?
$("#new_link").live('click',function(){});
答案 1 :(得分:1)
当ajax请求完成(所有数据都存在)时,将调用您的function(data)
处理程序。同时继续执行脚本。这意味着您的$("#new_link")...
代码最有可能在数据添加到dom之前执行
使用live handler或至少在函数(data){}处理程序中移动$(“#new_link”)代码。
编辑:示例代码
$(document).ready( function(){
$.post("static/js/jquery_call.php", function(data){
$("#div_id").html(data).find("#new_link").click( function() {
alert("Test");
});
});
});
答案 2 :(得分:0)
使用.live()
函数(doc here)绑定到现有和新创建的元素:
$("#new_link").live("click", function(){
// your code here
}