我正在尝试使用 jquery 来使按钮删除其父 div。
我的标记:
<div class="web_store_fields" id="web_store_input1">
<p>
<label for="web_store_address[]" >Store Address : </label>
<input name="web_store_address[]" class="web_store_info" type="text" value="http://www." size="35"/>
<input class="button_remove_web_store" type="button" value="Remove" />
</div>
jquery div 删除代码:
$('.button_remove_web_store').click(function() {
$(this).parents("div:first").remove();
});
这对页面加载时 html 中的 div 有效,但不适用于 由用户动态创建的 div(使用此 jquery 代码):
$('#button_add_web_store').click(function() {
var num = $('.web_store_fields').length;
var newNum = new Number(num + 1);
var newElem = $('#web_store_input' + num).clone().attr('id', 'web_store_input' + newNum);
$('#web_store_input' + num).after(newElem);
});
需要说明的是,动态创建工作正常,问题在于删除那些 div。
任何提示将不胜感激
最佳答案
将委托(delegate)处理程序 ( on ) 与类一起用作选择器,以便以后添加的任何新按钮仍然有效。
$('body').on('click', '.button_remove_web_store', function() {
$(this).parents("div:first").remove();
});
关于jquery remove parent 不处理动态创建的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2124744/