javascript 在页面加载时检查是否存在具有特定 class 的跨度(在 <tr> 下),如果不存在则删除整个 <tr>

javascript on page load check if a span (under <tr>) with a specific class exist, if does not exist remove the entire <tr>

我正在尝试为我最喜欢的目录列表站点创建我自己的 greasemonkey 脚本:)

事情并不是它列出的所有内容都对我有用,我检查了网站代码,看起来每个条目都在

现在看来,我只对具有这种格式的格式感兴趣:

<tr class="project-description">
<td colspan="6">
    <div class="project-desc-inner">
        <div class="project-synopsis">
            <p class="trunk8">This is an entry</p>
        </div>
        <div class="project-verification">
            <span class="verfied-badge"> <~~~~~~~~~~ THIS SPAN
                <span class="currency-symbol">$</span>
                <span class="icon-tick"></span>
                Verified
            </span>
        </div>
        <div class="project-actions">
            <a href="#">
                <button class="btn">LOL</button>
            </a>
        </div>
    </div>
</td>
</tr>

如你所见,<span class="verfied-badge">的存在触发了它。

我也希望 javascript 在页面加载后处理这个,因为该站点也通过 javascript 填充 table。

我知道我的问题还没有解决,但如果有人能提供一个可以引导我的例子,那就足够了。

非常感谢!

$(document).ready(function(){
    $("tr.project-details").each(function(){
       var self = $(this);
       if(self.find("span.verfied-badge").length==0)
           self.remove();
    });

});

仅调用 .remove 一次的筛选选择器

由于 TR 中还有其他与问题无关的 span 元素,因此不可能编写纯 CSS 过滤器选择器字符串(因此我们可以使用 .has) 以充分过滤元素。但我们不是单独删除每个 table 行,而是先过滤它们并一次删除它们。

$("tr.project-description").filter(function() {
    return !$("span.verfied-badge", this).length;
}).remove();