[英]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.