将javascript分配给ajax查询中的元素
我有一个简单的代码,如:将javascript分配给ajax查询中的元素,javascript,jquery,html,ajax,javascript-events,Javascript,Jquery,Html,Ajax,Javascript Events,我有一个简单的代码,如: <html> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <body> <a href="#" class="plink">Click me</a> <div class="cnt"> </div>
<html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<body>
<a href="#" class="plink">Click me</a>
<div class="cnt">
</div>
<script>
$(document).ready(function(){
$(".plink").click(function(){
alert("A");
});
$.ajax({
url: 'do.php?a=getinfo',
type: 'POST',
success: function(result) {
$(".cnt").html(result);
}
});
});
</script>
</body>
</html>
$(文档).ready(函数(){
$(“.plink”)。单击(函数(){
警报(“A”);
});
$.ajax({
url:'do.php?a=getinfo',
键入:“POST”,
成功:功能(结果){
$(“.cnt”).html(结果);
}
});
});
从ajax查询中,我得到以下信息:
<a href="#" class="plink">Click me 2</a>
问题是,当我单击从ajax查询中获得的链接(click me 2)时,分配给该链接事件的链接不起作用,即警报(“a”)不会显示。
那么,有什么方法可以解决这个问题吗?.click()不能与动态元素绑定。
试试这个
$("body").on("click",".plink",function(e){
alert("A");
});
否则
ajax结果中的新元素没有绑定的单击操作。尝试使用以下方法:
$(document).on('click', '.plink', function(){ alert("A"); });
而不是:
$(".plink").click(function(){ alert("A"); });
可能重复的和,因为答案不能让人理解(IMO):看看。为什么OP要尝试这样做?请解释你的解决方案。几分钟前我用上面的解释编辑了我的答案。Sorry@FelixKling最新版本的jQuery不推荐使用Edited my post..live()。查看文档@Evgeny:确保您理解原因。看看这个更详细的答案:并遵循链接。
$(".plink").click(function(){ alert("A"); });