【发布时间】:2013-08-15 11:51:32
【问题描述】:
这应该很简单,但它不适合我。我想说:
如果 this 没有“current”类并且如果 body 类不等于“home”,则执行此操作....
这是我正在尝试(除其他外)无济于事的方法。只有第一个条件有效。
$(".nav1 > ul > li").mouseleave(function() {
if ( (!$(this).hasClass("current")) || (!$(body).hasClass("home")) ){
$(this).find(".nav-overlay").show();
}
});
我做错了什么?谢谢!
澄清更新:
我只想在满足以下条件时显示“.nav-overlay”:
- 你不在首页(body class="home") 和
- “.nav1 > ul > li”类不等于“current”
【问题讨论】:
-
||表示“或”。&&表示“和”。 -
你说的是“类不等于”;你的意思是类属性的整个值?这将测试类集合中的 1 个特定类值。
-
出于某种原因,&& 仅适用于主页。所以当body class="home"时,它正确地忽略了这个函数。但是,在正文 class="anythingelse" 和 li class="current" 的内部页面上,它不会忽略该功能。
标签: jquery conditional-statements