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 方法,然后删除找到的输入。