从jQuery选择中删除元素

时间:2014-10-21 20:42:45

标签: javascript jquery

假设我有一些兄弟DOM元素只存在于jQuery选择中:

var $container = $('<div></div><span></span>');

我希望$ div只包含<div></div>,所以我尝试删除<span>

$container.find('span').remove();
// Note that span still exists:
console.log($div.length === 2);

解决这个问题的正确方法是什么?

2 个答案:

答案 0 :(得分:4)

您当前的选择是<div>元素。您需要在其中找到您的跨度,并在其上调用.remove()

传递给.remove()的参数找不到当前集合中的元素,而是过滤它。

var $div = $('<div><span></span></div>');
$div.find('span').remove();

答案 1 :(得分:1)

这不会修改当前选择,所以这不理想,但我最终找到了使用.not()的解决方案:

$div = $div.not('span')