jQueryの属性値を取得/設定するサンプルです。
attrメソッドを使用します。
目次
属性値を取得/設定するサンプル
ボタンを押すとテキストボックスの値が変わります。
attrメソッドでvalueの属性値を取得/設定しています。
コード
上記サンプルのコードです。
<input type="text" id="text1" value="赤" maxlength="5" disabled>
<input type="button" id="button1" value="ボタン1" >
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
$("#button1").click(function() {
// 属性値を取得
const str1 = $("#text1").attr("value");
// 属性値を設定
if(str1==="赤"){
$("#text1").attr("value","青");
}else{
$("#text1").attr("value","赤");
}
});
});
</script>
10行目は、IDセレクタ(#text1)で対象を特定(1行目)しattrメソッドで属性のvalueを指定して属性値を取得しています。
13,15行目は、IDセレクタ(#text1)で対象を特定(1行目)しattrメソッドで属性と属性値を指定して属性値を設定しています。
属性と属性値
| input type="text" id="text1" value="赤" maxlength="5" |
上記の黄色の箇所が属性でその横にあるのが属性値です。inputは要素です。
属性値を取得する場合、attrメソッドの引数に属性を指定します。
| $("#text1").attr("type"); → textを取得 $("#text1").attr("value"); → 赤を取得 $("#text1").attr("maxlength"); → 5を取得 |
属性値を設定する場合、attrメソッドの1つめの引数に属性を指定し、2つめの引数に属性値を指定します。
| $("#text1").attr("type","属性値"); $("#text1").attr("value","属性値"); $("#text1").attr("maxlength","属性値"); |
以下は、MDNの要素と属性のリファレンスです。
https://developer.mozilla.org/ja/docs/Web/HTML/Element
https://developer.mozilla.org/ja/docs/Web/HTML/Attributes
複数の属性を同時に設定する
attrメソッドで複数の属性を同時に設定するコードです。
<input type="text" id="text1" value="赤" maxlength="5" disabled>
<input type="button" id="button1" value="ボタン1" >
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
$("#button1").click(function() {
// 属性値を取得
const str1 = $("#text1").attr("value");
// 属性値を設定
if(str1==="赤"){
$("#text1").attr({
maxlength:5,
value:"青"
});
}else{
$("#text1").attr({
maxlength:3,
value:"赤"
});
}
});
});
</script>
14,15と19,20行目でvalueとmaxlengthの値を同時にセットしています。
attrメソッドの引数に関数を設定する
attrメソッドの引数に関数を設定するコードです。
<input type="text" id="text1" value="赤" maxlength="5" disabled>
<input type="button" id="button1" value="ボタン1" >
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
$("#button1").click(function() {
// 属性値を取得
const str1 = $("#text1").attr("value");
// 属性値を設定
if(str1==="赤"){
$("#text1").attr(
"value",function(){return "青";}
);
}else{
$("#text1").attr(
"value",function(){return "赤";}
);
}
});
});
</script>
14,18行目は、attrメソッドの2つめの引数が関数になっています。
関数の戻り値が属性値として設定されます。
attrメソッド
- jQueryのattrメソッドです。
- 属性値を取得と設定を行います。
- 以下はjQueryサイトのattrメソッドのリンクです。
http://api.jquery.com/attr/
関連の記事
jQuery textメソッドとhtmlメソッドの違いのサンプル
jQuery ループ処理を行うサンプル(each)
jQuery 子孫要素を検索するサンプル(find)
jQuery 指定のイベント発生時に一度だけ実行するサンプル(one)
jQuery Deferredオブジェクトのサンプル
jQuery 1つの要素に複数のイベントリスナを登録するサンプル(on)