2009-11-20 96 views
0

我使用Ajax获取动态内容,并将其放入div中,但问题是我对某些子div(来自动态内容)具有不同的ID。所以我为这些div添加了选择器,但正如我所说的那样,它们是动态加载的,这意味着它们在加载(从另一个文件)并插入div之前在任何地方都是不可见的。当我插入动态内容时,问题就出现了。 jQuery的不能选择这些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为一个div“索姆ediiv“,当我点击它”otherfile.php“将被加载,并在这个div的内容有另一个ID与”somediiv“的div,但当jQuery无法赶上点击:(

回答

1

我认为你必须使用live()。或者在$.get()的回调中附加活动。

0

你想每个动态加载的div还包含原始div的点击功能? powtac是正确的,现场活动将帮助你。是这样的:是不是真的指定

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

这是假设要追加的数据您点击DIV,即。你也必须确保返回的数据包含类“someDivClass”的div。

现场活动注册任何匹配的选择以及未来所有比赛(说是动态添加)

+0

页面加载和“file.php”的内容被插入到“格”,现在它包含2周的div id为“ somediiv“和”somediv“现在一切都很完美,但是当我点击”somediv“并加载新内容时,出现了”somediv“和”somediv2“,jquery不能捕获它们:( – Matt 2009-11-20 20:07:39