jQuery 属性値を取得/設定するサンプル(attr)

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)

△上に戻る