我希望只有在正文具有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);
});
}
答案 0 :(得分:4)
您的if条件将始终为true,因为jQuery对象(即使它为空)将等同于true
。
相反,您可以使用length
属性检查选择器是否找到匹配项:
var $isHome = $('body.home');
if ($isHome.length) {
// your code...
}
或者您可以使用hasClass
检查元素是否具有所需的类:
if ($('body').hasClass('home')) {
// your code...
}
答案 1 :(得分:3)
用作
if($('body').hasClass("home"))
答案 2 :(得分:2)
如图所示使用.hasClass()
:
var isHome = $('body').hasClass('home');
如果正文有一个家庭,那么 $(&#39; body&#39;)。hasClass(&#39; home&#39;); 声明将返回true ,否则 false 。
或直接使用if($('body').hasClass("home"))
答案 3 :(得分:0)
您应该尝试.hasClass()
,因为它会返回boolean
var isHome = $('body').hasClass('home');
if(isHome) { //your code }
谢谢!