2011-10-27 71 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

現在檢查,更新了代碼:) –