9

次のようなHTMLとCSSがあります。

<div id="TheContainer">
<div class="MyDivs"></div>
<div class="MyDivs" id="ThisDiv"></div>
</div>

#TheContainer{text-align:center;}
.MyDivs{margin:0px auto;display:inline-block;}
#ThisDiv{display:none;}

私はinline-blockとmargin:0px autoを使用しているので、は。MyDivs内の中央に配置されますTheContainer。問題は、私がこれを行うとき、次のことです。

$('#TheContainer').children().hide();
$('#ThisDiv').show();

CSS定義にThisDivあるようなインラインブロックではなく、表示がなしからブロックに変更されたため、中央に配置されなくなりました。

私は書くことができることを知って.css('display','none').css('display','inline-block')ますが、維持することによってこの作品を作る方法があるかどうか疑問に思いました.show()

あなたの提案をありがとう。

4

1 に答える 1

7

jQueryを拡張することができます...

$.fn.showInlineBlock = function () {
    return this.css('display', 'inline-block');
};

使用法は次のようになります。

$('#whatever').showInlineBlock();

jsFiddleデモ

于 2012-09-05T16:20:08.260 に答える