如果div中包含某个字符串,如何删除它?

Adr*_*n33 2 javascript jquery

页面上有一个项目列表,有些是空白的,一个例子是:

<div class="item itemask">
  <div class="tophead">
    <div class="itemnumber">30</div>

    <a class="article" href=""></a>
  </div>
  <div class="bottomhead"> points by <a class="userlink" rel=""></a> ago&nbsp;&nbsp;&nbsp; <a href="/item?id=">discuss</a>
</div>
Run Code Online (Sandbox Code Playgroud)

因此,可以使用什么jQuery或JavaScript来查找实例:<a class="article" href="">div class=item页面上的任何实例中,然后删除或隐藏其中包含该段代码的个别父divclass=item

use*_*716 5

更新的答案:根据评论中的澄清,请尝试以下方式:

$('div.item:has(a.article[href=""])').remove();?
Run Code Online (Sandbox Code Playgroud)

或者这也应该有效:

$('div.item:has(a.article:not([href]))').remove();?
Run Code Online (Sandbox Code Playgroud)

或者,如果您遇到任何问题,请尝试以下方法:

$('div.item a.article').filter(function() {
    return $.trim(this.innerHTML) == '';
}).closest('div.item').remove();???????
Run Code Online (Sandbox Code Playgroud)

原始答案:

使用jQuery:

$('div.item:has(a.article)').remove();
Run Code Online (Sandbox Code Playgroud)

这将选择<div>具有类item的后代<a>元素的类article,并删除它们.

当然,.hide()如果您愿意,可以使用:

$('div.item:has(a.article)').hide();
Run Code Online (Sandbox Code Playgroud)

如果你真的意味着你只想删除实际parenta.article,那么你会这样做:

$('div.item :has( > a.article)').remove();
Run Code Online (Sandbox Code Playgroud)

这将删除父类,a.article而不是.item类.不确定你的意思.