jquery的append的元素无法加载js

<script type="text/javascript">

$(function(){
$("a").click(function(){
alert("点击成功");
});

$("#add").click(function(){
$("#mydiv").append("<a>点击</a>");
});
});
</script>
<body>
<div id="mydiv"></div>
<a>点击</a><button id="add">add</button>
</body>
很简单的代码,新生成的<a>标签无法响应click事件,我 要怎么写才可以让他响应呢

第1个回答  推荐于2016-07-22
$("a").live("click",function(){
alert("点击成功");
});

或者

$(document).on("click","a",function(){
alert("点击成功");
});

追问

第二个是可以用,但是第一个提示Uncaught TypeError: $(...).live is not a function 是为什么

追答

live是老版本jq的一个方法,后面版本的升级成了on了。不知道你用的是哪一个版本,所以两个都写上去了。
on方法简单点说,就是给所有符合条件的标签绑定世界,之后通过js或者jq操作后面生成dom节点。详细可以百度一下 jq 的on方法。

本回答被提问者采纳
第2个回答  2015-10-15
$(function(){
     $("#add").click(function(){
         $("#mydiv").append(
              $("<a>点击</a>").click(function(){ 
                  alert("点击成功")
              })
         );
    });
});

相似回答