如果 body 的 class 为 "ie.",则做某事 如果 body 的 class 为 "ie.",则执行其他操作

Do something if body has a class of "ie." Do something else if body does not have a class of "ie."

我想我写错了,因为它没有按我的预期工作。

我希望它像这样工作:

如果body没有ieclass,如果body.single #project-wrapperactivatedclass,应该加上grayscale class 并更改 opacity.

如果 bodyie class,如果 body.single #project-wrapperactivated class,它应该只改变 opacity.

如何重写下面的代码以反映我上面写的内容?

if (!$(body).hasClass('ie')) {
    if ( $('body.single #project-wrapper').hasClass('activated') ) {
        $('article.project').addClass('grayscale').css('opacity', '0.4');
    }
}

if ($(body).hasClass('ie')) {
    if ( $('body.single #project-wrapper').hasClass('activated') ) {
        $('article.project').css('opacity', '0.4');
    }
}

正文需要使用元素选择器。没有名为 body 的变量,因此您的控制台

中应该会出现类似 ReferenceError: body is not defined 的错误
if ($('body').hasClass('ie')) {
    if ($('body.single #project-wrapper').hasClass('activated')) {
        $('article.project').css('opacity', '0.4');
    }
} else {
    if ($('body.single #project-wrapper').hasClass('activated')) {
        $('article.project').addClass('grayscale').css('opacity', '0.4');
    }
}

由于条件 $('body.single #project-wrapper').hasClass('activated') 很常见,您可以执行类似

的操作
if ($('body.single #project-wrapper').hasClass('activated')) {
    if ($('body').hasClass('ie')) {
        $('article.project').css('opacity', '0.4');
    } else {
        $('article.project').addClass('grayscale').css('opacity', '0.4');
    }
}