标签: javascript jquery
假设我有一些兄弟DOM元素只存在于jQuery选择中:
var $container = $('<div></div><span></span>');
我希望$ div只包含<div></div>,所以我尝试删除<span>:
<div></div>
<span>
$container.find('span').remove(); // Note that span still exists: console.log($div.length === 2);
解决这个问题的正确方法是什么?
答案 0 :(得分:4)
您当前的选择是<div>元素。您需要在其中找到您的跨度,并在其上调用.remove()。
<div>
.remove()
传递给.remove()的参数找不到当前集合中的元素,而是过滤它。
var $div = $('<div><span></span></div>'); $div.find('span').remove();
答案 1 :(得分:1)
这不会修改当前选择,所以这不理想,但我最终找到了使用.not()的解决方案:
.not()
$div = $div.not('span')