javascript删除(选择器)无法正常工作

时间:2017-05-10 13:09:51

标签: javascript jquery

结帐: - jsfiddle

$('body').remove('p')

我的问题是,当传递选择器remove()函数时,remove()似乎不起作用,但是当我使用

$('body p').remove()

它工作正常。那么,问题是什么,请帮忙

4 个答案:

答案 0 :(得分:3)

实际上<p><body>的孩子,所以请使用children(): -

$('body').children('p').remove()

$('body').children('p').remove();

// you can use find() also:- $('body').find('p').remove();
body {
  outline: 1px solid purple;
}

svg {
  outline: 1px solid purple;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<p>
hi,there
</p>
</body>

同样的事情发生在$('body p').remove()

为什么$('body').remove('p')无效: -

AS @Jonathan Lonowski 正确解释: -

.remove(selector)相当于使用.filter(selector).remove()。使用<body><p>元素过滤集合会导致空集合,因此.remove()无效。

答案 1 :(得分:1)

$('body').children('p').remove()

答案 2 :(得分:0)

您可以尝试在身体中找到您的p元素

$('body').find('p').remove();

答案 3 :(得分:0)

您可以像这样使用从body

中递归删除所有'p'标签
$('body').find('p').remove()