69
58

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

jQueryでCSSの!important指定を行う

Last updated at Posted at 2015-04-20

"cssText" による !important指定

jQueryの.css()メソッドでは

jQuery
$('#sample').css({'margin-top': '20px !important'}); // 無効

のような !important 指定は認識されません(宣言自体が無視されます)。

このような場合は、CSS書式をそのまま記述できる"cssText"を使用することで !important 指定を実現できます。

jQuery
$('#sample').css({'cssText': 'margin-top: 20px !important;'}); // 有効

"cssText" を使用する際の注意点

"cssText" による指定は対象となる要素のstyle属性を書き換える挙動となるため、HTMLのstyle属性によって指定されていたスタイルは無効となってしまいます。

下の例では、style属性で指定されていた "color: red;" が無効になっていることがわかります。

HTML
<div id="sample_01" style="color: red;">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
jQuery
$('#sample_01').css({'cssText': 'margin-left: 50px;'});

sample_csstext_01.png

意図しないスタイルの上書きを避けるためには、あらかじめstyle属性値を取得しておき "cssText" による指定値に追加するといった工夫が必要となります。

jQuery
var defaultStyle = $('#sample_01').attr('style');
$('#sample_01').css({'cssText': defaultStyle + 'margin-left: 50px;'});

sample_csstext_02.png

69
58
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
69
58

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?