2010-12-17 73 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

感谢你们多看看!如果你没有通过验证,我不会看起来很彻底。