我遇到以下代码中的if语句时遇到问题,如果div有一个类,我会尝试触发一个事件,该类在代码中添加和减去。这是正确的方法吗?因为它不起作用?
$(document).ready(function() {
$('.content_accrd').css({
"height": "0px"
});
$('.content_accrd:eq(0)').addClass("open").css({
"height": "110px"
});
$('.paneltop:eq(0)').css({
"background-position": "0px 0px"
})
$('.paneltop').click(function() {
**if ($(this).siblings('.content_accrd').attr('class') != "open")** {
$(this).addClass("open").css({
"background-position": "0px 0px"
}).siblings('.content_accrd').animate({
"height": "110px"
}, 200)
} else {
$(this).reomveclass("open").css({
"background-position": "0px -21px"
}).siblings('.content_accrd').animate({
"height": "0px"
}, 200);
}
})
})
答案 0 :(得分:2)
您想使用hasClass功能:
$('.paneltop').click(function() {
if ($(this).siblings('.content_accrd').hasClass('open')) {
$(this).removeclass("open").css({
"background-position": "0px -21px"
}).siblings('.content_accrd').animate({
"height": "0px"
}, 200);
} else {
$(this).addClass("open").css({
"background-position": "0px 0px"
}).siblings('.content_accrd').animate({
"height": "110px"
}, 200)
}
})
交换顺序以避免使用! :d
removeClass拼写错误。
答案 1 :(得分:1)
更改为:
if ($(this).siblings('.content_accrd').hasClass('open'))
答案 2 :(得分:0)
你应该这样做:
if ($(this).siblings('.content_accrd').hasClass('open')) {
// ...
}
然而,这留下了一个问题:这个测试应该做什么?测试任何兄弟姐妹的那个班级? 一个特定的兄弟姐妹?你应该明确说明。
答案 3 :(得分:0)
您可以尝试.hasClass()
方法:
if ($(this).siblings('.content_accrd').hasClass('open')) {