jQuery「prop」でプロパティの値を取得/設定


jQueryのメソッド「.prop() 」は、要素の「プロパティ値を取得/設定する」事ができるメソッド。
今回は、jQueryで「プロパティ値を取得/設定できる」メソッド「.prop()」について、その使い方をサンプルを交えて解説しよう。
目次
.prop()メソッドとは
.prop()
は主に「チェックボックス」や「ラジオボタン」などのプロパティ値(選択値)を取得・設定するために使うメソッドだ。(ver1.6以降)
.prop()と.attr()の違いは?
.prop()
は「プロパティ」、.attr()
は「属性」を操作できるメソッドで、ほとんど同じような働きをする。
「属性」はHTMLの情報で、「プロパティ」は「JavaScriptが独自に保持するHTMLの属性情報」で、基本的には同じ内容の情報なのだが、次の例のように一部異なるものがある。
.attr()
はHTML属性を取得・設定できるメソッドで、「実行時点でHTMLコードに記述されている情報」しか取得できないので、フォームのchecked
やdisabled
やselected
やmultiple
などユーザーの操作後の値を取る事はできなかった。
そこで、jQuery1.6より新たに、JavaScriptが保有する「プロパティ」を操作できる.prop()
メソッドが追加されたのだ。
例えば次のようなチェックボックスで初期値でチェックが入っていないものを.prop()
と.attr()
でそれぞれ値を取得してみると
<input type="checkbox" >
.prop()
は「false」と返すのに対して、.attr()
では「undefined」と返す。
その後、ユーザーがチェックを入れた後に同じ様に.prop()
と.attr()
でそれぞれ値を取得してみると、.prop()
は「true」と返すのに対して、.attr()
では、チェックが入っているのにも関わらず、また「undefined」と返してしまう(ユーザーがチェックを入れてもHTMLが書き換わるわけではない為)。
つまり、フォーム関連やchecked
やdisabled
やselected
などの場合は、.attr()
ではなく、.prop()
を使って操作すると良いという事だ。
.attr()
メソッドについて詳しく知りたい方はこちらの記事をどうぞ。
.prop()の構文
.prop()
ではプロパティ値を「取得」と「設定」ができる。また、「一度に複数のプロパティ値」を設定する事もできるので、順番に解説していこう。
プロパティ値を取得する構文
$("セレクタ").prop("プロパティ名");
セレクタで指定した要素に対して.prop()
のパラメータで「プロパティ名」だけを記述した場合は、そのプロパティ値を取得できる。
「取得」した値を後で使う場合は、次のように変数に格納すると使いやすい。
var hoge = $("input").prop("checked");
プロパティ値を設定する構文
$("セレクタ").prop("プロパティ名","値");
プロパティ値を変更したい要素を「セレクタ」で指定し、.prop()
のパラメータの第1引数で「プロパティ名」、さらに,
で区切った後の第2引数で「値」を指定する事で、指定要素の「プロパティ値」を設定・変更する事ができる。
一度に複数のプロパティ値を設定する構文
$("セレクタ").prop({プロパティ名:"値",プロパティ名:"値",プロパティ名:"値"});
一度に複数のプロパティ値をセットする場合は「オブジェクト形式」で{}
の中で属性名:"値",
の組み合わせを複数設定する事ができる!(真偽値の場合は""
は不要)
jQueryで.prop()を使ってプロパティ値を「取得」する例
まずはチェックボックスの値を取得する例で見ていこう。
$(function(){
$("button").on("click",function(){
var hoge = $(".target").prop("checked");
console.log(hoge)
});
});
<button>ボタン</button>
<input class="target" type="checkbox" checked>
true
このように書く事で$(".target")
のプロパティchecked
の値(チェックされている:true、チェックされていない:false)を取得できる。
jQueryで.prop()を使ってプロパティ値を「設定」する例
次に.prop()を使って、ボタンを押したらチェックボックスに「チェックが入っていないもの」に対して、「チェックを入れる」という例で見ていこう。
$(function(){
$("button").on("click",function(){
$(".target").prop("checked",true);
});
});
<button>ボタン</button>
<input class="target" type="checkbox">
このように書く事で$(".target")
のプロパティchecked
の値を変更する事ができる。
jQueryで.prop()を使って、一度に「複数のプロパティ値を設定」する方法
一度に複数のプロパティ値を設定する例として、ボタンをクリックすると、チェックボックスにチェックが入り、さらに無効化(disabled)
う。
$(function(){
$("button").on("click",function(){
$(".target").prop({disabled:true,checked:true});
});
});
<button>ボタン</button>
<input class="target" type="checkbox" >
このように書く事で$(".target")
のチェックボックスのプロパティchecked
の値を変更した上で、さらに無効化(disabled )する事ができる。
以上、jQueryで「.prop()を使って、プロパティ値を取得/設定する」方法でした。
その他のjQueryメソッドについて確認したい方は、jQueryメソッドを一覧で解説したこちらの記事を確認しておこう!
フロントエンドスキルをもっと早く・簡単にマスターしたい方へ!
JavaScriptやCSS・Sassなどフロントエンド学習は、初心者が「独学」で完全マスターするには半年以上かかり、相当根気よくやらないと挫折してしまうか、ライバルに出遅れてしまう…。
短期間でフロントエンド・WEBデザインをマスターするには?
私の経験だが、手軽なオンラインスクールを利用した方が圧倒的に早かった。独学だと「何からどこまで勉強すれば良いかわからない」ものを、これだけ学習すればOKというポイントをおさえた教科書で学習しながら、わからない点を質問し放題なので、多少の出費は必要だが2ヶ月程度でサクッと学べたので逆に経済的だった!(実際に私がオンラインスクールを受講して体感)
では「オススメはどのスクール?」とよく聞かれるのだが、たった1つのおすすめスクールがある訳でなく、その人によって最適なスクールが違う。
- 学習スタイルが自分に合っているか?
- 低価格でコスパの良い学習料金か?
- 講師に質問しやすい環境か?
- 無料体験できるスクールか?
数あるスクールの中から、実際に受講してわかった事や現役プロならでは目線で厳選・比較したこちらの記事「現役プロ比較!短期 「WEBデザインスクール12校」おすすめランキング!」を参考に自分に合ったスクールを探そう↓
※当記事の掲載内容は執筆現在の個人の見解・調査によるもので、動作・サービス等を保証するものではありません。最新情報は各公式サイトでご確認頂き、購入・契約・データ作成等はご自身の判断・責任でお願いします。 免責事項
関連記事

Javascriptで季節に応じて自動的にデザインを変える方法

jQuery「prepend / prependTo」で要素内の先頭にHTMLを挿入する

jQuery「.slideUp( )/.slideDown()/.slideToggle()」で縦方向のスライドで表示・非表示する方法

jQuery「html()」でHTMLを取得・変更する

jQuery「insertBefore」でHTMLを「指定要素の直前」に移動する

jQuery「.show( )/.fadeIn()」で指定要素をフェードインで表示する方法

SVGアニメーションが5分で作れる!jQuery DrawSVGの使い方

jQuery「.clone()」で指定要素をコピーする方法

jQueryのメソッドチェーンの使い方

jQuery「text()」でテキストを取得・変更する
サイト内検索
新着記事
- YouTubeより詳しく!まとめて学べる『WEBデザイン動画講座』
- Figmaの背景切り抜きプラグイン『Remove BG』のAPI Key取得方法と使い方
- WEBデザイン動画講座のご紹介【お得な割引アリ】
- WixでWEBデザイナーが「ポートフォリオサイト」を作ってみた!
- WEBデザインツールの比較!初心者におすすめは?Figma Photoshop Xd Illustrator
- CodeCampGATE(コードキャンプゲート)とは?転職・就職先と評判
- コードキャンプの「Webデザイン・Webデザイン副業コース」を卒業生が解説!
- テックアカデミー「はじめての副業コース」卒業生が内容を解説!
- PHPの独学!挫折しないおすすめ勉強方法!
- 16インチMacbook Proで使える100Wモバイルバッテリー Zendure SuperTankレビュー
- [体験談] CodeCamp(コードキャンプ)で挫折する理由!
- テックアカデミー「受講した感想・評判」学習内容の総まとめ!
- Photoshop 超リアルな商品写真の鏡面反射の作り方
- デイトラの評判は?詳細内容とメリット・デメリットを解説
- CSSだけ超簡単!画像トリミングできる 「object-fit」 の使い方
- コードキャンプ 「無料体験・カウンセリング」を受講してみた!予約方法や内容の体験談
- デジタルハリウッドSTUDIO by LIGの評判
- PhotoshopでWEBデザインする基本の設定とテクニック
- テックアイエス評判は?現役プロがTECH I.S.を徹底調査!
- WEBデザインの練習・勉強をしながら「お金までもらえる」超おすすめの学習方法!
カテゴリー
タグリスト