1

開発中のレール アプリのフロント エンドに JQUEry UI を使用しています。タブ付きデータを表示するために jQuery ダイアログ ウィンドウを使用しています。これらのタブの 1 つに画像を表示したいと考えています。

Javascript を使用せずにページを表示すると、画像のレンダリングは正常に機能しますが、何らかの理由ですべてをダイアログ ウィンドウに配置すると、最後にレンダリングした画像以外のすべての画像がどこかからインライン スタイルを取得します。

ダイアログ ウィンドウなし:

        <img alt="Dsc_0085" class="picture" src="/system/sources/3/normal/DSC_0085.jpg?1260300748" />
        <img alt="Dsc_0006" class="picture" src="/system/sources/4/normal/DSC_0006.jpg?1260301612" />

ダイアログウィンドウで:

    <img alt="Dsc_0085" class="picture" src="/system/sources/3/normal/DSC_0085.jpg?1260300748" style="height: 0px; width: 0px; border-top-width: 1px; border-bottom-width: 1px; font-size: 22px; border-left-width: 1px; border-right-width: 1px; display: inline; ">
    <img alt="Dsc_0006" class="picture" src="/system/sources/4/normal/DSC_0006.jpg?1260301612" style="display: inline; ">

画像をダイアログウィンドウに配置すると、高さと幅が0pxのインラインスタイルが表示される理由がわかりません。誰かアイデアはありますか?

4

3 に答える 3

3

わかりませんが!important、CSS を使用してオーバーライドできます (これについては IE6 を再確認してください)。

$('img.picture').removeAttr('style')モーダルイベントのようなものを入れることもできます。

display:inline画像はデフォルトでインラインで表示されるため、インライン スタイルにするのは非常に奇妙ですが、UI チームには理由があると確信しています。

于 2009-12-09T16:06:08.417 に答える
1

最後に、スタイル シートで !important を使用して、jqueryui が追加していたインライン スタイルをオーバーライドしました。なぜそれらが追加されたのか、私は決して知りませんでした。

于 2010-03-14T15:32:06.253 に答える