将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"); });