如何删除包含特定文本的div

时间:2016-08-14 10:18:11

标签: javascript jquery html css

我有一些div标签,里面有一些文字&其中的元素&我想删除那些div,它们看起来像这样

<div style="font-family:verdana;font-size:12px;">
    Example
    <a href="http://www.example.com" title="hey">example</a>
</div>

有很多像这样的div&amp; amp;我想使用jQuery或javascript删除所有内容

2 个答案:

答案 0 :(得分:4)

如果元素没有任何共同之处,例如类,则可以使用:containsremove()方法将其删除。

O(N+M)

完整示例如下所示:

&#13;
&#13;
$("div:contains('Example')").remove()
&#13;
$("div:contains('Example')").remove()
&#13;
&#13;
&#13;

如果元素有共同点,你可以使用类选择器。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>


<div>
  Example
</div>
<div>
  Darren
</div>

答案 1 :(得分:0)

根据Darren的回答,如果您想要更加确定(因为:contains会匹配并删除包含单词example)的任何div,您可以确保它是&#39;一个具有与子节点相同的锚点的div,然后返回到父节点并将其删除。

如果这不起作用,请粘贴几个div,这样我们就可以看到一个常见的模式并以最安全的方式定位。

&#13;
&#13;
$(document).ready(function(){
  
  $('#remove').click(function(e){

  $("div:contains('Example')").children("a:contains('example')").parent("div:contains('Example')").remove()
})
  
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="font-family:verdana;font-size:12px;">Example<a href="http://www.example.com" title="hey"> example</a></div>
<div style="font-family:verdana;font-size:12px;">Don't remove<a href="http://www.example.com" title="hey"> example</a></div>
<div style="font-family:verdana;font-size:12px;">Example<a href="http://www.example.com" title="hey"> don't remove</a></div>

<button id="remove">
Remove undesired divs
</button>
&#13;
&#13;
&#13;