我有以下HTML:
<div id="wrapper">
<div class="p1">
<a href="#" class="quickFlipCta"><img src="Test Pictures/QuestionMark.gif" /></a>
</div>
<div class="p2">
<a href="#" class="quickFlipCta"><img src="Test Pictures/flower.gif" /></a>
</div>
</div>
除了一些其他的东西,我希望在某个条件后删除类“quickFlipCta”。以下是我的代码片段:
if ( $(this).attr('id') != last.attr('id') ) {
var that = this;
var that2 = last;
setTimeout(function(){
$(that).parent().parent().quickFlipper({refresh :1});
$(that2).parent().parent().quickFlipper({refresh :1});
}, 1500);
$('a').removeClass('quickFlipCta');
}
第一个陈述完美无缺:
setTimeout(function(){
$(that).parent().parent().quickFlipper({refresh :1});
$(that2).parent().parent().quickFlipper({refresh :1});
}, 1500);
但是$('a').removeClass('quickFlipCta');
不起作用。
我认为它有问题,但我在if语句之外尝试了它并且它有效。什么可能导致这个?提前谢谢。
答案 0 :(得分:1)
变量最后只有值 null ,或 $(this)
$('a').click(function() {
if (last) {
// ...
// if this if is executed that means last = $(this),
// so the condition returns false
if ($(this).attr('id') != last.attr('id')) {
// this code is never executed
$('a').removeClass('quickFlipCta');
}
// ...
last = null;
} else {
last = $(this);
}
});