2

<a>フォームがあり、その要素にバインドされたシックボックスがあります。要素をクリックすると、ボックス内に URL が読み込まれ、スクリプトが実行されます。私が取り組んでいるプラットフォームの制限により、スクリプト、thickbox.js、または読み込まれている HTML にアクセスできません。私にできることは、独自のスタイルとスクリプトを作成することだけです。

問題は、何かが#TB_window読み込まれた後にいくつかのインライン スタイルを与えていることです。見てみましょう:

<div id="TB_window" style="position: fixed; z-index: 10002; top: 50%; left: 50%; margin-left: -315px; width: 630px; margin-top: -220px; display: block; ">

私全体の問題は幅にあります。そのスタイルをオーバーライドする必要があります。次のように、クリック イベントを にバインドしようとしました<a>

('a#btnReferAFriend').click(function(){
    if('#TB_title.length'){
        $('#TB_window').css('width','400px');
        alert($#TB_window.css('width');
    } else {
        alert('Wrong');
    }
});

そのスクリプトの結果は、「400px」を表示するアラートです。しかし、この直後、私のスタイルはインラインのものによって上書きされます。何が起こっているのか正確にはわかりません。別のスクリプトがどこかで実行されていると思いますthickbox.js

適用後にインライン スタイルをオーバーライドするにはどうすればよいですか?

4

2 に答える 2

1

次のスタイルを使用できます。

#TB_window { width:400px !important; }

これは、インライン スタイルで見つかった幅をオーバーライドする必要があります。

于 2012-05-18T13:57:18.317 に答える
0

インライン スタイルを削除して、独自の宣言を強制することができます。

$('#TB_window').removeAttr('style')
于 2012-05-18T13:59:13.950 に答える