我希望拥有不同的背景图片,具体取决于您是否登录。到目前为止,我已经尝试使用jQuery向一个类添加/删除一个类(使用登录框来查明您是否已登录),但它不能正常工作。
第一个if语句有效且类'index'设置为正文,但是,当你登录类时,即使loginform不再存在,也不会删除它。
那么,如何更改此代码以便它可以按我的意愿运行?提前谢谢。
if($('#loginForm')) {
$('body').addClass('index');
}
else {
$('body').removeClass('index');
}
答案 0 :(得分:2)
if($('#loginForm'))
将始终返回true,因为即使元素不存在,jquery也会创建一个空对象。使用length
来测试jQuery元素对象是否存在
$('body').toggleClass('index', $('#loginForm').length );
使用toggleClass可以缩短代码,第二个参数是布尔值
答案 1 :(得分:1)
您可以使用length
属性来测试元素是否存在:
if ($('#loginForm').length) {
$('body').addClass('index');
}
else {
$('body').removeClass('index');
}
您也可以使用jQuery的内置size()
方法,但最好尽可能使用本机属性。