2011-10-27 106 views
2

多数民众赞成让我头疼的代码是这样的:如何使IE8尊重.removeClass()?

$('#timeline .selected').removeClass('selected'); 

它只是将无法正常在IE8的行为。这些类会被正确移除,但不知何故,该元素仍具有相同的样式,就像“选定”类的样式一样。

P.S.那两个也不行:

$('#timeline .selected').removeAttr('class'); 
$('#timeline .selected').removeAttribute('class'); 

请帮忙!

+0

检查您的元素是否从另一个选择器继承了相似的样式。 –

+0

不,在检查器中它显示正确的样式,但它不会像那样呈现。这是一个简单的背景位置,它在检查器中具有正确的坐标,但不在视口中。 –

+0

如果你添加另一个类来设计你喜欢的元素,那该怎么办? –

回答

1

更新时间:http://jsfiddle.net/jWvdr/2/

$('li').hover(function() { 
    $(this).addClass('active'); 
}, function() { 
    $(this).removeClass('active');     
}); 

似乎很好地工作:

http://jsfiddle.net/jWvdr/

$('li.active').click(function() { 
    $(this).removeClass('active'); 
}); 

什么CSS属性是给你的问题?

+0

嗯,这是应该管理悬停状态和“活动”类(damnit,不能将其格式化为代码)的CSS行:#timeline-内部部分文章.certificate:hover:before,#timeline-内部部分article.selected .certificate:之前{background-position:-232px -59px; } –

+0

这就是当元素具有“活动”类时我正在改变的属性:background-position:-232px -59px; –

+0

现在检查,更新了代码:) –