0

私のアコーディオン コントロールでは、ヘッダー スタイルをオーバーライドして、特定のペインのユーザー コントロール (ユーザーの名前とアドレスの入力など) が false の検証ブール値を返す場合、デフォルトのテーマ カラーの代わりに赤い背景を表示したいと考えています。

.Toggle を使用してクラスを変更する方法には問題ありませんが、そもそもテーマローラー クラスを取得する方法がわかりません。

どうすればいいですか?

ありがとう

ポール

4

2 に答える 2

1

jQueryアコーディオンを使用していると仮定します

クラスの名前: .ui-accordion-header

したがって、検証後に false が返されます

次のようにインライン スタイルを追加して、新しい背景色を設定します。

$('.ui-accordion-header').attr('style','background:red');

次に、それを削除します:

$('.ui-accordion-header').attr('style','');

アップデート

このhtml構造体があると仮定します

<div id="accordion">
    <h3><a href="#">Section 1</a></h3>
    <div>
        <p>
        ... <- if your form is here for es.: 
                   your path escalation to it's own H3 would be:

<!--\ $(this).parent('p').parent('div').prev(h3).attr('style','background:red') \-->

        </p>
    </div>
    <h3><a href="#">Section 2</a></h3>
    <div>
        <p>
     ...
        </p>
    </div>
</div>

$(this) は、if ステートメントの空の入力を参照します。

if ( $('my_input').val() == '' )
$(this).parent().parent().prev().attr('style','background:red');

これは期待どおりに動作するはずです。

于 2010-03-16T01:44:12.267 に答える
0

このようなリバースエンジニアリングの便利な方法は、FirefoxやChromeなどのブラウザにアクセスして(他のブラウザも同様ですが、私が最もよく使用する2つです)、要素を右クリックして[要素の検査]を選択することです。 「」これにより、マークアップと現在適用されているスタイルの適切にフォーマットされた(少なくともFirefoxはフォーマットしますが、Chromeはそうではないかもしれません)ビューが提供されます。さらに、そのインスペクターは、たとえば、CSSルールが適用されない理由を理解するのに役立ちます。また、その場で新しいルールを作成することもできます。これにより、edit-compile-testループがはるかに高速になります。

于 2010-03-16T02:02:41.393 に答える