这应该是这么简单,但它对我不起作用。我想说:
如果没有“当前”类,如果身体类不等于“家”,那么就这样做....
这是我正在尝试(除其他事项外)无济于事。只有第一个条件才有效。
$(".nav1 > ul > li").mouseleave(function() {
if ( (!$(this).hasClass("current")) || (!$(body).hasClass("home")) ){
$(this).find(".nav-overlay").show();
}
});
我做错了什么?谢谢!
更新清晰度:
我只想在满足以下条件时显示“.nav-overlay”:
答案 0 :(得分:23)
尝试$("body")
和&&
:
if ( (!$(this).hasClass("current")) && (!$("body").hasClass("home")) ){
//...
或者这样,它更短:
if ( !$(this).is(".current") && !$("body").is(".home") ){
//...
答案 1 :(得分:4)
如果body
不变量,请将其作为HTML标记访问:添加引号。此外,AND
为&&
而非||
(即OR
}:
if (!$(this).hassClass("current") && !$("body").hasClass("home")) {
$(this).find(".nav-overlay").show();
}
如果body
是jQuery对象,则可以直接... && !$body.hashClass(...)
。