teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

説明を追加しました。

2015/08/12 08:34

投稿

KiKiKi_KiKi
KiKiKi_KiKi

スコア596

answer CHANGED
@@ -30,11 +30,14 @@
30
30
 
31
31
  追記。
32
32
 
33
- `.css()`メソッドを使えば、DOMに直接style属性が追加されるので、これより強いCSSが指定されていなれば表示を変えることはできます。簡単に。
33
+ jQueryの`.css()`メソッドを使えば、DOMに直接style属性が追加されるので、これより強いCSSが指定されていなれば表示を変えることはできます。簡単に。
34
34
  ```javascript
35
35
  $('.hoge').css()
36
36
  ```
37
37
  ただし、
38
38
  `.hoge`がページ内に沢山あると、処理のコストが高いので表示が遅くなったりする可能性があります。
39
39
  さらにスタイルの変更時に`.hoge`内のタグのスタイルも変更したいような要望が出た時、さらにこの中を`.find()`して`.css()`をして〜となるので処理が多くなる上に、もとに戻す時また大変な処理をする事になります。
40
- この辺りがデメリットになると思います。
40
+ この辺りがデメリットになると思います。
41
+
42
+ この方法は直接styleタグが作られるので、**CSSの定義を変更**と言うよりは**上書きする**に近いと思います。
43
+ 個人的に`.css()`で直接styleタグを与えるような処理は極力一時的な変更に留めるような設計にした方がメンテナンスのコスト的にも良いと考えております。

1

.css() で変更できるけど

2015/08/12 08:34

投稿

KiKiKi_KiKi
KiKiKi_KiKi

スコア596

answer CHANGED
@@ -24,4 +24,17 @@
24
24
  LESSやSCSSやStylusを使っているなら、これらの定義を切り替えるクラス名でネストして、色々なスタイルの定義の変更を書けるので、コードの見通しも良くなると思いますがいかがでしょうか。
25
25
 
26
26
  下記は一応javascriptでCSSを生成する参考のリンクです。大変なので個人的にあまりオススメはしないです。
27
- [JavaScriptでstyleタグをheadに挿入](http://www.inazumatv.com/contents/archives/7275)
27
+ [JavaScriptでstyleタグをheadに挿入](http://www.inazumatv.com/contents/archives/7275)
28
+
29
+ ---
30
+
31
+ 追記。
32
+
33
+ `.css()`メソッドを使えば、DOMに直接style属性が追加されるので、これより強いCSSが指定されていなれば表示を変えることはできます。簡単に。
34
+ ```javascript
35
+ $('.hoge').css()
36
+ ```
37
+ ただし、
38
+ `.hoge`がページ内に沢山あると、処理のコストが高いので表示が遅くなったりする可能性があります。
39
+ さらにスタイルの変更時に`.hoge`内のタグのスタイルも変更したいような要望が出た時、さらにこの中を`.find()`して`.css()`をして〜となるので処理が多くなる上に、もとに戻す時また大変な処理をする事になります。
40
+ この辺りがデメリットになると思います。