【问题标题】:How do I complete an OR operation in jQuery?如何在 jQuery 中完成 OR 操作?
【发布时间】:2013-01-05 21:03:02
【问题描述】:
$(document).ready(function(){
if (!$('body').hasClass('home') || !$('ul#main-menu li.wwd').hasClass('active')){
$("ul#sub-menu").css('display','none');
$(".main-content").css('margin-top','13px');
$("ul#sub-menu").mouseover(function() {
        $("ul#sub-menu").show();
        $(".main-content").css('margin-top','62px');

}).mouseout(function() {
        $("ul#sub-menu").hide();
        $(".main-content").css('margin-top','13px');
});
$("li.wwd").mouseover(function() {
        $("ul#sub-menu").show();
        $(".main-content").css('margin-top','62px');
}).mouseout(function() {
        $("ul#sub-menu").hide();
        $(".main-content").css('margin-top','13px');
});
}
if ($('ul#main-menu li.wwd').is('.active')){
        $(".main-content").css('margin-top','62px');

}
})

我需要在除主页之外的所有页面上运行此 jQuery(工作正常),但也不需要在 li.wwd 具有类 active 的页面上运行。我认为这适用于 OR 操作,但事实并非如此。感谢您提前提供任何帮助。

【问题讨论】:

  • 不清楚是什么问题,你在问什么。
  • 这段代码有效吗?还是不行?
  • 要评估两个地方的非条件,您需要使用&& 而不是||
  • 感谢@SheikhHeera!就是这样。显然我需要一个 AND && 运算符而不是 ||。我认为 AND 运算符意味着这两个条件都必须为真。再次感谢!
  • @WonderBred,不客气 :-)

标签: jquery conditional or-operator


【解决方案1】:

要评估这两个地方的!(not) 条件,您需要使用&& 而不是||,就像

if (!$('body').hasClass('home') && !$('ul#main-menu li.wwd').hasClass('active'))
{
    // code goes here
}

【讨论】:

  • @arttronics,感谢您的支持 :-)
【解决方案2】:

由于您使用的是否定运算符 (!),因此当以下任一情况为真时,您的代码块当前正在运行:

  1. body 有“home”类或
  2. ul#main-menu li.wwd 有“活动”类

所以我怀疑您的主页代码似乎工作正常,因为在该页面上,ul#main-menu li.wwd 可能没有“活动”类?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 2020-07-11
    相关资源
    最近更新 更多