jQuery 如果不存在则添加 css

迈克尔AB

我在下面的示例中遇到了 JQuery 问题。

$(".side-nav ul li ul:not([class*='hide'])").addClass("hide");
.hide {
  display: none;
}
<div class="side-nav">
  <ul>
    <li>
      <a href="#">FIRST</a>
      <ul class="hide">
        <li>one</li>
        <li>two</li>
        <li>tree</li>
      </ul>
    </li>
    <li>
      <a href="#">SECOND</a>
      <ul> <!-- here need add css class="hide" -->
        <li>one</li>
        <li>two</li>
        <li>tree</li>
      </ul>
    </li>
  </ul>
</div>

示例:https : //codepen.io/moldow/pen/ExyzJOb

萨拉·斯托梅诺夫斯卡

您可以迭代每个ul元素并检查它是否包含类hide

$(".side-nav ul li ul").each(function() {
  if(!$(this).hasClass("hide")) {
    $(this).addClass("hide");
 }
})
.hide {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="side-nav">
    <ul>
        <li>
            <a href="#">FIRST</a>
            <ul class="hide">
                <li>one</li>
          <li>two</li>
          <li>tree</li>
                </ul>
        </li>
    <li>
            <a href="#">SECOND</a>
            <ul> <!-- here need add css class="hide" -->
                <li>one</li>
          <li>two</li>
          <li>tree</li>
                </ul>
        </li>
    </ul>
</div>

另一种方法是使用$(".side-nav ul li ul").addClass("hide");它只会将类添加hide到没有它的元素中,因此如果元素具有类,则不会有重复的类

$(".side-nav ul li ul").addClass("hide");
.hide {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="side-nav">
    <ul>
        <li>
            <a href="#">FIRST</a>
            <ul class="hide">
                <li>one</li>
          <li>two</li>
          <li>tree</li>
                </ul>
        </li>
    <li>
            <a href="#">SECOND</a>
            <ul> <!-- here need add css class="hide" -->
                <li>one</li>
          <li>two</li>
          <li>tree</li>
                </ul>
        </li>
    </ul>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫:添加列(如果不存在)

添加列(如果不存在)

如果元素不存在,如何像jQuery()一样静默地使querySelector()失败

cassandra添加列(如果不存在)

jQuery v1.10 + val()创建空选项(如果不存在)

CSS:not()选择器。如果父级不存在,则应用样式

jQuery检测到不存在的元素

Redshift:添加列(如果不存在)

jQuery追加(如果不存在)

检测不存在的flag-icon-css标志

CSS中不存在属性“ grid-gap”

如果不存在,仍添加序列的Postgresql添加序列

添加列(如果不存在)

jQuery:如果不存在,添加div吗?

检测CSS模块中不存在的className的使用/ React

如果元素不存在/是可选元素,请不要在CSS网格中保留空间

jQuery的查找ID属性存在或不存在

jQuery onLoad现在不存在图像

当不存在某些东西时将css添加到div中

jQuery-遍历每个div,如果元素不存在,则隐藏其他元素

函数不存在-jQuery

为什么我的自定义jQuery html标签添加了不存在的断点?

检查数组中的重复值,并使用jQuery添加是否不存在

生产中不存在的 css 模块类

ng-bootstrap 的 css 文件夹不存在

如果使用 JavaScript/jQuery 的 FTP 上不存在文件,有没有办法隐藏链接?

如何在 json 响应中不存在的 jquery 数据表中再添加一列

如果字符串中不存在作者元數據,則使用 CSS 顯示部分

jQuery:如果值不存在,則從第一個值開始