如何使用:not运算符删除jQuery标记?

时间:2017-08-29 11:46:46

标签: jquery html

是否有可能删除所有<p>标记,但嵌套内有<img>标记的标记除了jquery?

这是我的问题代码:

<script>
$(document).ready(function(){
    $("p>img:not").remove();
});
</script>

<p><img src="Anyimg.jpg"></p>
<p>My best friend is Mickey.</p>
<p>Who is your favourite</p>

这意味着输出应该只是图像!

2 个答案:

答案 0 :(得分:3)

您可以使用:not():has()选择器

$("p:not(:has(img))").remove();

&#13;
&#13;
$("p:not(:has(img))").remove();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><img src="Anyimg.jpg" alt="some image" /></p>
<p>My best friend is Mickey.</p>
<p>Who is your favourite</p>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

另一种实现此目的的方法是使用filter方法

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Scroll down!</p>
<div id="container">
  <div class="count-1">200</div>
  <div class="count-2">100</div>
  <div class="count-3">50</div>
  <div class="count-4">4</div>
</div>
$("p").filter(function(){
    return $('img',this).length == 0;
}).remove();