【问题标题】:If all div have no Class do stuff如果所有 div 都没有 Class 做事
【发布时间】:2012-05-23 20:03:31
【问题描述】:

我想对 ul li 里面的几个 div 做点什么:JsFiddle

如果 ul li div 有一个类.Class,我正在尝试什么都不做 我如何更改此代码以便什么都不会发生,除非没有一个 div 有一个类?

正如你现在看到的,最后一个 li 是红色的,但这不应该是因为第二个 div 的类是 .Class

【问题讨论】:

    标签: jquery html css jquery-selectors


    【解决方案1】:

    在调用样式之前,您始终可以测试元素是否存在:

    $(document).ready(function()
    {
        if($('ul').find('li div.Class').length == 0)
           $('ul').find('li div').css('color', 'red');
    });
    

    【讨论】:

      【解决方案2】:

      怎么样:

      $(function () {
          var uls = $('ul li div:not(.Class)');
      
          if (uls.length > 0) {
              uls.css('color', 'red')
          }
      });
      

      【讨论】:

      • 那是另一种写法(看起来与其他答案有点相同)谢谢,但我会接受以前的答案
      • 这是不正确的,因为它只会寻找最后一个div。 OP 不想查看所有 li's > divClass
      • @Youss 是的,这基本上是相同的结果,我只是更喜欢将所有部门都塞进一个声明中:)
      • @mattytommo 我认为每个人都有自己的品味(但我认为在这类代码中并不重要)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      • 2013-05-03
      • 2012-01-19
      • 2019-06-03
      • 2014-02-09
      相关资源
      最近更新 更多