我希望仅在正文具有home类的情况下运行此代码。因此,我创建了一个名为isHome的变量,并尝试将代码包装在该变量周围。但是,我认为代码有问题。有人可以指出出什么问题吗?

var isHome = $('body.home');

if (isHome) {
    $('.wp-polls-form input.Buttons').click(function( e ){
        e.preventDefault();
        $('html, body').animate({
            scrollTop: $("#top-section").offset().top - (
              $(window).width() < 450 ? 112 : 60
            )
        }, 500);
    });
}

最佳答案

您的if条件将始终为true,因为jQuery对象(即使为空)也将等于true

相反,可以使用length属性检查选择器是否找到匹配项:

var $isHome = $('body.home');
if ($isHome.length) {
    // your code...
}


或者,您可以使用hasClass检查元素是否具有所需的类:

if ($('body').hasClass('home')) {
    // your code...
}

10-06 07:47