我是jQuery新手。
你们知道为什么.remove()
不适用于使用add
按钮添加的行吗?否则,它对于已经存在的元素(例如<li>One</li>
)起作用。
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('.more').click(function(){
html_frag='<li>XXX<input type="submit" value="Remove" class="testing" /></li>';
$('ul li:last').after(html_frag);
return false;
});
});
$(document).ready(function(){
$('.testing').click(function(){
$(this).remove();
return false;
});
});
</script>
</head>
<body>
<ul>
<li>
One
<input type="submit" value="Remove" class="testing" />
</li>
</ul>
<input type="submit" value="Add" class="more" />
</body>
</html>
最佳答案
因为绑定该处理程序时,新添加的元素在DOM上不存在。尝试使用如下所示的委托事件,
$(document).ready(function(){
$(document).on('click', '.testing', function(){
$(this).remove();
return false;
});
});