我试图通过点击添加和删除div。 我成功添加了它,但无法找出删除部分。
HTML:
<center>
<a href='#' id='gogo'>Add</a>
<div id='sexy'></div>
</center>
jQuery的:
var extra="<div class='bass'><a href='#' class='gaga'>Remove</a></div>";
$('#gogo').on('click', function(){
$('#sexy').append(extra);
});
$('.gaga').on('click', function(){
$(this).parent().remove();
});
的jsfiddle: http://jsfiddle.net/Vmhe2/1/
答案 0 :(得分:2)
这应该有帮助
$('#gogo').on('click', function(){
$('#sexy').append(extra);
$('.gaga').on('click', function() {
$(this).parent().remove();
});
});
我在追加额外的div后立即移动了删除功能
答案 1 :(得分:1)
是的,该元素已完全从DOM中删除。
答案 2 :(得分:1)
.remove()
将从DOM树中完全删除该元素。但是,您的删除代码应如下所示:
$('#sexy').on('click', '.gaga', function(e){
e.preventDefault(); // as .gaga is anchor, so use preventDefault()
// to stop default page load of browser
$(this).parent().remove();
});
当您动态添加.gaga
时,您需要委托事件处理,并且可以使用 .on()
方法执行此操作。
的 Working sample 强> 的
委托事件(又名实时)的.on()
语法为:
$(StatciParent).on(eventName, target, handlerFunction);
其中,StaticParent
指的是target
元素的父元素,它不是动态的,target
是您需要绑定事件的元素。
答案 3 :(得分:1)
注册事件处理程序时,DOM元素必须存在。如果要动态绑定,请使用delegate():http://api.jquery.com/delegate/
答案 4 :(得分:1)