根据特定的 html 标记内容隐藏父元素

Hide a parent element based on specific html tag contents

本文关键字:隐藏 元素 html      更新时间:2023-09-26

我正在尝试做类似于如何使用JavaScript根据其文本隐藏元素的事情? 和 使用 JS/JQuery 基于子元素的 alt 标记隐藏父元素但它比这要复杂一些。这是我想隐藏的整个元素(包含大量内容的列表项):

<li>
    <div class="wrapper">
        <div class="fulllink" data-href="hideme/some/url" data-title="hideme - some more text">
            <a href="/some/url" rel="stuff">
        </div>
        <div id="fullimage" class="theimage">
            <img src="/some/url" title="hideme - some more text" alt="thisis/hideme text">
        </div>
        <div class="captionwrapper">
            <div class="caption">
                <p>
                    <a class="" title="" href="hideme/some/url">more text</a>
                </p>
            </div>
        </div>
    </div>
</li>

我想根据特定内容"hideme"隐藏这个li元素,它出现了几次,但正如你所看到的,它永远不会单独出现。它应该在页面加载时隐藏,因此无需用户操作。

我试图根据堆栈溢出的类似问题提出一个解决方案,但到目前为止还没有成功。

您可以使用

html() 函数获取每个lihtml内容,然后搜索它是否包含所需的文本:"hideme"。

$("li").each(function () {
    if ($(this).html().indexOf('hideme') > -1) {
        $(this).hide();
    }
});

演示