繁体   English   中英

如何更改CSS所有元素在Javascript上没有类`name`?

[英]How to change CSS all element don't have class `name` on Javascript?

我按类别写过滤产品。

当我单击一个类别时,它将为元素添加一个selected的类,并且该类别的背景已经selected

我认为问题在于:

if (!$filterLinks.hasClass('selected') )

我想当用户单击另一个

  • 元素,全部
  • 元素应转到背景,默认为white

    我的HTML结构:

     <ul id="filters"> <li> <a class="selected" data-filter="*"></a> All <li> <li> <a data-filter=".nokia"></a> Nokia <li> <li> <a data-filter=".samsung"></a> Samsung <li> </ul> 

    而我的代码:

     var $filterLinks = $('#filters a'); $filterLinks.click(function(){ var $this = $(this); $this.parents('li').css("background", "red"); if ( $this.hasClass('selected') ) { return; } $filterLinks.filter('.selected').removeClass('selected'); $this.addClass('selected'); // problem at here, I want when user click another <li> element, // all <li> element should be go to background default is `white`. if (!$filterLinks.hasClass('selected') ) { $filterLinks.parents('li').css("background", "white"); } } 

    完整代码在这里: https : //jsfiddle.net/az2e51c7/

  • 在这里,您使用我的代码:

     $("#filters li").click(function()
     {
     $("#filters li").removeClass("selected");
     $(this).addClass("selected");
     });
    

    如果要使用CSS

    尝试

    li > a:not(.selected) {
    //add your css here
    
    }
    

    暂无
    暂无

    声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

     
    粤ICP备18138465号  © 2020-2024 STACKOOM.COM