如何使用jQuery隐藏不包含特定数据类值的所有元素?

Rea*_*ues 2 html css jquery

好吧,忍受我。有问题的(模板)HTML 是这样的:

<section class="page3 active" data-index="3">                   
<div class="plaque">
    <header class="title">Launch Count</header>
    <div class="dropdown">
        <span>Total</span>
        <ul>
            <li data-sheet="1">Total</li>
            <li data-sheet="2">Falcon 9</li>
            <li data-sheet="3">Falcon Heavy</li>
            <li data-sheet="4">Falcon 1</li>
        </ul>
    </div>
    <div class="contents">
        <table>
            <tr>
                <td class="metric" data-sheet="1">12</td>
                <td class="metric" data-sheet="2">7</td>
                                    <td class="metric" data-sheet="3">7</td>
                                    <td class="metric" data-sheet="4">7</td>
            </tr>
            <tr>
                <td class="unit" data-sheet="1">Launches</td>
                <td class="unit" data-sheet="2">Test</td>
                                    <td class="unit" data-sheet="2">Test</td>
                                    <td class="unit" data-sheet="4">Test</td>
            </tr>
        </table>
    </div>
    <footer>
        <p data-sheet="1">A paragraph</p>
        <p data-sheet="2">Test</p>  
                    <p data-sheet="3">Test</p>
                    <p data-sheet="4">Test</p>          

    </footer>
</div>
</section>
Run Code Online (Sandbox Code Playgroud)

看到<div>包含<ul>? 已经应用了另一个 jQuery 脚本,将其转换为选择样式下拉菜单。请注意,它们标有自定义 HTML5 数据属性。

我要的是一个规则隐藏所有元素,其section.active包含一个数据表的属性是不相等“1”。

尽管我做了很多尝试,我还是无法自己建造一个。帮助?我已经试过了:

$('section.page3 *.data-sheet').not("[data-sheet*='1']").hide();
Run Code Online (Sandbox Code Playgroud)

没有成功。

Tus*_*har 5

尝试

$('section.page3 [data-sheet]').not("[data-sheet*='1']").hide();
Run Code Online (Sandbox Code Playgroud)

fiddle Demo


$('section.page3 [data-sheet]')选择具有属性的sectionpage3中的元素data-sheet

.not("[data-sheet*='1']")选择data-sheet包含的元素1


如果你想匹配1

$('section.page3 [data-sheet]').not("[data-sheet='1']").hide();
Run Code Online (Sandbox Code Playgroud)

fiddle Demo