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

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

本文关键字:lt tr gt 如果 删除 不存在 如果不 是否 存在 检查 加载      更新时间:2024-04-19

我正试图为我最喜欢的目录列表网站创建我自己的防油精脚本:)

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

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

<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填充表。

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

非常感谢!

$(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)来充分过滤元素。但是,我们不是单独删除每个表行,而是先对它们进行筛选,然后一次全部删除。

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