- ベストアンサー
JqueryでCSSの設定値を変更する
- JqueryもしくはjavascriptでCSSの設定値を変更させ、保持することは出来るのでしょうか。
- 具体的な例として、p要素の line-height を変更し、保持したいと考えています。
- また、クラスはセレクタであるため、オブジェクトとしてブラウザに保持されるものではありません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
具体的に、どのようなタイミングでどのようなスタイルを適用したいかを示されたほうが適切なアドバイスが得られます。 『”クラス”というのは、あくまでセレクタであり、スタイルシートで設定する p.class-abc{line-height : 120%;} のような記述は、何らかのオブジェクトとして・・・』 p.class-abcは、「class_abcに所属するタイプセレクタpに対して」と言う意味で、詳細度は、{0,0,1,1}です。それに対して、p.#zyx.class_abc{};と言う記述は、一意セレクタzyxを持ち、かつクラスclass_abcに所属するタイプセレクタpですから、詳細度は{0,1,1,1}です。 単なると言っても、「タイプセレクタ+クラスセレクタ」です。 通常は一意セレクタは、それ自体大きな詳細度を持ちますから、単に一意セレクタで指定するだけで十分です。javascriptのDocumentWrightで <p class="class_name">を<p class="class_name" id="IDname">とするだけで済むはずです。 子孫セレクタや子供セレクタ、隣接セレクタ、擬似クラスセレクタ、擬似要素セレクタなどをうまく使いましょう。 元々一意セレクタは詳細度が高いので、単に#yzxだけで良いです。 また、スタイルのためにHTMLにIDを追加するのは感心しません。詳細度が高いため、カスケーディングがうまく利用できなくてHTMLやCSSが煩雑で複雑になるだけです。 基本的にスタイルシートは一度しか読みませんから、スタイルシートを書き換えるのは非効率です。 イベントの種類にもよりますが、スタイルシートには「動的な擬似クラス---詳細度C=1」や、「擬似要素---詳細度d=1」が用意されています。これらを使って、ある程度のことはできるはずです。 どういうタイミングで、どんなイベントを起こしたいのか・・・・。
お礼
詳しい解説をありがとうございます。 おっしゃる内容でなんとなく目星が付きました。 ご丁寧にありがとうございました。m(_ _)m