jQuery .remove(Selector) 不起作用
jQuery .remove(Selector) doesn't work
看看这个片段:
var div = $('#createDrugForm');
div.remove('input[type=hidden]');
//the hidden field is still there
div.find('input[type=hidden]').remove();
//the hidden was removed
为什么第一种删除方法不起作用?
当您向 $.fn.remove
method, this selector is used to filter already selected collection (see $.fn.filter
), but not to find new child elements (see $.fn.find
) 提供选择器时。
例如,如果你有这个 HTML 结构:
<div class="div a">a</div>
<div class="div b">b</div>
<div class="div c">c</div>
您可以使用此代码删除 .a
div
$('.div').remove('.a');
在您的情况下,您需要使用 find
方法,然后删除找到的输入。
看看这个片段:
var div = $('#createDrugForm');
div.remove('input[type=hidden]');
//the hidden field is still there
div.find('input[type=hidden]').remove();
//the hidden was removed
为什么第一种删除方法不起作用?
当您向 $.fn.remove
method, this selector is used to filter already selected collection (see $.fn.filter
), but not to find new child elements (see $.fn.find
) 提供选择器时。
例如,如果你有这个 HTML 结构:
<div class="div a">a</div>
<div class="div b">b</div>
<div class="div c">c</div>
您可以使用此代码删除 .a
div
$('.div').remove('.a');
在您的情况下,您需要使用 find
方法,然后删除找到的输入。