2

私は2つのスタイルを持っています:

.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側の制限であるかどうかは誰にも分かりますか? または、ブラウザーでスタイル間のスワップと寸法の尊重に問題がありますか?

4

2 に答える 2

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>
于 2010-12-17T23:45:34.483 に答える
0

おそらくどこかの別のjqueryプラグインから生成された、いくつかの余分なスタイルがあるようです。

firebug を介して、寸法スタイルがキャンセルされていることがわかります。釣りに行くようです。わーい

詳しく調べてくれてありがとう!あなたがあなたの側で確認していなければ、私はそれほど徹底的に調べなかったでしょう.

于 2010-12-19T06:16:14.013 に答える