2010-12-17 101 views
2

我有2個款式:的jQuery removeClass,addClass問題

.imagebox_empty{ 
    padding:2px 2px 2px; 
    border:1px dotted #E5E5E5; 
    width:130px; 
    height:130px; 
    background:url('/images/misc/file_important.png') no-repeat; 

} 
.imagebox_full{ 
    padding:2px 2px 2px; 
    border:1px solid #E5E5E5; !important; 
    overflow:auto; 
} 

我使用jQuery來在一個div切換這些類:

<div id="companyLogo" class="imagebox_full"></div> 
$("#companyLogo").removeClass("imagebox_full").addClass("imagebox_empty"); 

它工作正常,除了寬度和高度。我已經在Chrome和FF上測試過了。兩者都是一樣的。邊框,背景和填充改變,但不是尺寸。

有誰知道這是對jQuery的限制嗎?或者瀏覽器在樣式和維度之間交換問題?

+0

在jsfiddle中完美工作,在Chrome上進行測試(在Mac上):http://jsfiddle.net/nuSns/ – jyoseph 2010-12-18 00:29:30

回答

2

我無法用最基本的頁面重現問題(見下文),所以也許這是其他一些覆蓋高度和寬度的CSS的問題?

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $("#companyLogo").removeClass("imagebox_full").addClass("imagebox_empty"); 
}); 
</script> 
<style type="text/css"> 
.imagebox_empty{ 
    padding:2px 2px 2px; 
    border:1px dotted #E5E5E5; 
    width:130px; 
    height:130px; 
    background:url('/images/misc/file_important.png') no-repeat; 
} 
.imagebox_full{ 
    padding:2px 2px 2px; 
    border:1px solid #E5E5E5; !important; 
    overflow:auto; 
} 
</style> 
</head> 
<body> 
<div id="companyLogo" class="imagebox_full"> 
</body> 
</html> 
+2

我在IE中得到了他的症狀。 http://jsfiddle.net/y9tuu/ – pinkfloydx33 2010-12-17 23:54:46

0

似乎我有一些額外的樣式,最有可能從另一個jquery插件生成的地方。

我可以看到維度樣式正在通過螢火蟲取消。 看起來我要去釣魚了。 yay

感謝你們多看看!如果你沒有通過驗證,我不會看起來很徹底。