我有一个带有“标签”类的UL 一个李有一类“活跃”
“有效”标签明显会随着用户点击其他标签而变化,并且会被使用,因此其颜色与其他标签不同。
我想要做的是选择活动的“标签”UL除外的所有Li,并通过为每个选项附加CSS背景为每个选择不同的颜色。 选项卡的数量可能会有所不同,具体取决于它们在哪个页面上。一个页面可能有四个选项卡,而另一个页面可能有6个或7个。
如果我抓住他们所有我不会有问题,但我不知道怎么去尝试排除活动标签,因为我计划使用Nth,这将包括活动标签?
任何帮助表示感谢。
答案 0 :(得分:2)
您可以使用.not()
:
$('ul.tabs li').not('.active').css({ ... });
然后,您可以使用.each()
迭代它们:
$('ul.tabs li').not('.active').each(function() { ... });
修改:假设您有某种方法可以确定哪个标签应该包含哪个背景,以下是使用此示例的示例:JSFiddle。
答案 1 :(得分:0)
假设“活动”是在单击选项卡时应用于选项卡容器的内容,并且所有选项卡都有类似class =“tab”的内容,这样就足够了。
$(".tab").each(funciton() {
if (!$(this).hasClass("active"))
{
$(this).addClass("myBackground");
}
});
答案 2 :(得分:0)
如果你想在css3中这样做,你可以使用它:
:not(p)
{
background:#ff0000;
}
这为所有不是“p”元素的元素设置背景颜色。 更多信息:http://kilianvalkhof.com/2008/css-xhtml/the-css3-not-selector/