.prop()
属性プロパティに値を設定、または設定されている値を取得します。
- .prop( name ) 1.6追加
- .prop( name, value ) 1.6追加
- .prop( map ) 1.6追加
- .prop( name, function(index, prop)) 1.6追加
- jQuery1.6で追加された.prop()と.attr()の問題
.prop( name ) 1.6追加
戻り値:String
指定した属性の値を取得します。
引数 | 説明 |
---|---|
name | 値を取得したいプロパティの名前を指定します。 |
<input id="check1" type="checkbox" checked="checked" />
//jQuery1.6.1以上の場合
var is_checked = $('#check1').prop('checked'); //trueが返る
var attr_checked = $('#check1').attr('checked'); //'checked'が返る
要素が複数マッチしている場合、最初の要素の属性のみを取得します。 各要素の属性値を取得したい場合は、.each()や.map()を使用してください。
.prop( name, value ) 1.6追加
戻り値:jQuery
指定した属性に値を設定します。
引数 | 説明 |
---|---|
name | 値を設定したい属性の名前を指定します。 |
value | 設定する値を指定します。 |
$("input").prop("disabled", false);
$("input").prop("checked", true);
.prop( map ) 1.6追加
戻り値:jQuery
各属性にmap値を用いてまとめて値を設定します。
引数 | 説明 |
---|---|
map | 属性名と値のペアのMap値を指定することで、まとめて要素の属性を設定することが出来ます。 |
.prop( name, function(index, prop)) 1.6追加
戻り値:jQuery
指定した属性に関数の戻り値を設定します。
引数 | 説明 |
---|---|
name | 値を設定したい属性の名前を指定します。 |
function(index, prop) |
新しい属性値を戻り値として返す関数を指定します。 関数で取得できる2つの引数は、下記のとおりです。 戻り値が無い、またはundefinedの場合、属性値は変更されません。 |
$("input[type='checkbox']").prop("checked", function( i, val ) {
return !val; //各チェックボックスのチェック状態を反転します。
});
jQuery1.6で追加された.prop()と.attr()の問題
このようなINPUTタグの場合、それぞれのcheckedの値取得の違いについて、下記を参考にしてください。
<input type="checkbox" checked="checked" />
処理 | 値 |
---|---|
elem.checked |
TRUE チェックの状態で取得値も変化します。 |
$(elem).prop("checked") |
TRUE チェックの状態で取得値も変化します。 |
elem.getAttribute("checked") |
"checked" (文字列です) この取得値は最初に設定された値を取得するため、チェックの状態が変わっても値は変化しません。 |
$(elem).attr("checked") 1.6 |
"checked" (文字列です) この取得値は最初に設定された値を取得するため、チェックの状態が変わっても値は変化しません。 1.6では、.attr()はgetAttributeと同じ挙動をします。 |
$(elem).attr("checked") 1.6.1以上 |
"checked" (文字列です) チェックの状態で取得値も変化します。 |
$(elem).attr("checked") 1.6より以前 |
TRUE チェックの状態で取得値も変化します。 |
© 2010 - 2017 STUDIO KINGDOM