jQueryのメソッド『css()』を使用して要素のCSSを書き変えるときの指定方法をご紹介します。
この記事の目次
css()メソッドで複数のプロパティを変更するサンプルコード
title="変更するプロパティが複数の場合"]
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script>
// DOM要素が読み込まれたあとに実行
$(function(){
$(要素).css({
'プロパティ':'値',
'プロパティ':'値'
});
});
</script>
※Wordpressを利用されている場合、「$」を「jQuery」に書き換えないと動作しない場合があります。
動かない場合、「,」の数や「文字列の区切り」などをもう一度確認してみてください。
「click」に対応して変更するケースなどは下でも紹介しています。
css()メソッドのおさらい
css()メソッドを使うと、指定したjQueryオブジェクトの要素のCSSを書き換えられます。
変更するCSSのプロパティが1つの場合
jQueryで指定した要素のcssを変更する場合は、基本的に「css()」を利用して記述します。一応「attr()」メソッドでも変更は可能ですが、「css()」メソッドの方が記述が簡単なので今回はこちらを紹介します。
title="変更するプロパティが一つの場合"]
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script>
// DOM要素が読み込まれたあとに実行
$(function(){
$(要素).css('プロパティ','値');
});
</script>
変更するCSSのプロパティが2つの場合
title="変更するプロパティが一つの場合"]
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script>
// DOM要素が読み込まれたあとに実行
$(function(){
// プロパティ、値を変えた指示を2度記述する
$(要素).css('プロパティ','値');
$(要素).css('プロパティ','値');
// または
$(要素).css({
'プロパティ':'値',
'プロパティ':'値'
});
});
</script>
css()メソッドの実例
jQueryオブジェクトのCSSを書き変える、カンタンなコードをいくつか紹介します。
ご自由にコピペなどでお使いください。
テキストカラーを赤に変更
テキストカラーを赤色に書き換えるコードです。
<script>
$(function(){
$('.text1').css('color','red');
});
</script>
<p class="text1">文字色が赤くなります。</p>
文字色が赤くなります。
クリックすると文字色を赤く変更
See the Pen [jQuery]クリックすると文字の色が赤になるボタン by nkmrkisk (@rekid) on CodePen.
複数プロパティの値を同時に変更
「css()」にて複数のプロパティを変更する場合は、「プロパティ:値 , プロパティ:値」というように配列を使ってプロパティと値を渡してあげます。
$(要素).css({
'プロパティ':'値',
'プロパティ':'値'
})
<script>
$(function(){
$('.text2').css({'color':'blue','fontSize':'20px'});
});
</script>
<p class="text2">文字色が青く大きくなります。</p>
文字色が青く大きくなります。
See the Pen [jQuery].css()で複数のcssプロパティ変更 by nkmrkisk (@rekid) on CodePen.
連想配列を変数に保持する
連想配列を変数に代入して、複数の記述まとめておくと、あとで変更になったときに便利です。
<script>
$(function(){
var test3 = {'color':'#FFF','fontSize':'12px','background':'#EA6D6D','padding':'10px'};
$('.text3').css(test3);
});
</script>
<p class="text3">文字色が白く小さく、そして背景が赤くなります。</p>
文字色が白く小さく、そして背景が赤くなります。
ベンダープレフィックス
<script>
$(function(){
var str = 'matrix(0.8,-0.05,0.1,1.2,30,10)';
var test4 = {'transform':str,
'-moz-transform':str,
'-webkit-transform':str,
'-o-transform':str,
'-ms-transform':str
};
$('.text4').css(test4);
});
</script>
<p class="text4">文字にcss3のtransformを適用させます</p>
文字にcss3のtransformを適用させます
まとめ
初歩の初歩だけど、よく忘れてググってるのでメモ。
連想配列での指定は、animate()などの動きをつけていくときに何かと便利です。