column

ITコラム

mv11586

プログラミングノウハウ

2018.08.28

jQuery【prop】真偽値属性にはpropメソッド

jQuery の prop メソッドを使用すると、attr メソッドと同様に 要素の属性に対して 値を設定したり変更したりすることができます。
そして、 checked や selected のように、指定されていれるか否かを true 又は false で表すことができる属性(真偽値属性)には、prop メソッドの使用が向いています。
今回は、jQuery の prop メソッドの使い方と attr メソッドとの違いを解説いたします。

attr メソッドの使用方法についてはjQuery【 attr 】属性に値を設定する attr と 削除する removeAttrをご参照下さい。

なお、未経験からITエンジニアへの就職に興味がある方や未経験からプログラミングを効率よく学びたいと考えている方は、就職率98.3%で受講料無料のプログラミングスクールプログラマカレッジもおすすめです。

1. prop メソッド

 
prop メソッドは、引数によって 4 通りの記述方法があります。

$(セレクタ).prop( name );

$(セレクタ).prop( name, value );

$(セレクタ).prop( map );

$(セレクタ).prop( name, function(index, prop) );

 
prop メソッドの引数の内容は、それぞれ以下の通りです。

.prop( name )
name
属性の名前を指定

 

.prop( name, value )
name
属性の名前を指定

value
設定する値を指定

 

.prop( map )
map
属性の名前と値との Map 値を指定
(まとめて要素の属性を設定することが可能となる)

 

.prop( name, function(index, prop) ) 
name
属性の名前を指定

function(index, prop)
新しい属性値を戻り値として返す関数を指定
 index:要素の index
 prop:変更前の属性値

▲目次へ戻る

 

2. prop で属性を変更

 
prop メソッドを使用して、ラジオボタンの属性( checked )を変更します。
各ボタンをクリックしてみて下さい。

YES NO

 
上のサンプルのソースコードは次の通りです。

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(function() {
  $("#btn1").on("click", function() {
    $("#ch_yes").prop("checked", true);
  });
  $("#btn2").click(function() {
    $("#ch_no").prop("checked", true);
  });
});
</script>

<div style="background-color : #CCC; padding : 20px;">
  <table>
  <tr><td>
  <input type="button" id="btn1" value="YESにチェック">
  </td><td>
  <input type="button" id="btn2" value="NOにチェック">
  </td></tr>
  <tr><td>
  <input type="radio" name="rep" id="ch_yes">YES
  </td><td>
  <input type="radio" name="rep" id="ch_no">NO
  </td></tr>
  </table>
</div>

 
上のサンプルでは、「 .prop( name, value ) 」の形で次のように記述し、属性変更を行っています。

$("#ch_yes").prop("checked", true);

また、上のサンプルは name に同じ値を設定したラジオボタンのため value 値 に「 true 」を設定した要素以外は自動的にチェックが外れますが、次のように記述して value 値 に「 false 」を設定すると、意図的にチェックを外すことができます。

$("#ch_yes").prop("checked", false);

▲目次へ戻る

 

3. attr と prop との違い

 
attr メソッドと prop メソッドとは、共に 要素の属性に対して 値を操作できるメソッドであり、記述方法も同じですが、checked など 指定されていれるか否かを true 又は false で表すことができる属性( 真偽値属性 )の属性値を取得する際に、その戻り値に違いがあります。

属性 メソッド 戻り値
checked prop true / false
attr “checked” / “”
selected prop true / false
attr “selected” / “”
disabled prop true / false
attr “disabled” / “”
multiple prop true / false
attr “multiple” / “undefined”

 
上記の通り、真偽値属性の属性値を取得する際に、prop メソッドは真偽値( true 又は false )で取得できますが、attr メソッドは文字列で取得します。

if 文の条件式の中で戻り値を使用する場面等を考えると、戻り値は文字列より真偽値で取得した方が 後続処理の正確性が保たれます。

ですので、真偽値属性に関する操作を行う場合は、prop メソッドを使用するようにしましょう。

▲目次へ戻る

4. まとめ

jQueryのprop メソッドについて、いかがでしたでしょうか。

「Webプログラマになりたいけど、独力では限界がある」と感じている方には、「プログラマカレッジ」がおすすめです。
プログラマカレッジ」は本気でプログラマを目指す方のための、就職支援付き、受講料無料のプログラミングスクールです。

今回ご紹介した「jQuery」を含む豊富なカリキュラムで、IT初心者からWebプログラマとして就職するまで、プロが完全にサポートします。
本気でプログラマとして就職・転職したいという方は、一度のぞいてみてはいかがでしょうか。

→ 就職支援付き無料プログラミングスクール「プログラマカレッジ」

▲目次へ戻る

無料説明会

SHARE

最新記事

無料説明会に参加してみる

INTERNOUS,inc. All rights reserved.

無料オンライン説明会へ