jQueryのprop()でプロパティの設定・取得

  • このエントリーをはてなブックマークに追加
  • Pocket

スポンサードリンク

HTML属性を取得するattr()ではチェックなどの動的な動作に対応していなかったり、フォーム周りで上手く取得できないことも多かったため、フォームのプロパティを取得したり設定するために、jQuery 1.6よりprop()が追加されました。

checkeddisabledselectedなどのプロパティはprop()で操作するようにしましょう。

プロパティの取得

まずはプロパティの状態を取得してみましょう。

構文

jQuery

上記の例では、チェックボックスのcheckedプロパティの状態を取得しています。

返り値は以下のようになります。

返り値

  • チェックあり =>true
  • チェックなし =>false

checkedが付いていたらtrue、なければfalseが返されます。

attr()の場合はchekedが付いていなければundefined(未定義)が返され、チェックが外れているだけなのか、それともチェックボックスがそもそもないのかを区別できません。

その辺も区別されるprop()を使うべきですね。

チェックボックスの状態をテキストに出力するサンプル

それではprop()を使って、実際にチェックボックスの状態をHTMLに表示させてみましょう。

HTML

jQuery

結果(動作サンプル)

チェックを入れたり外したりするたびに、truefalseが表示されるかと思います。

同意する
 

prop()だとチェックの状態も簡単に取得できますね。

参考

ファイル情報を取得してテキストに出力するサンプル

prop()はHTML5のFile apiに対応したブラウザであれば、アップロードフォームで選択したローカルファイルの情報も取得できます。

ファイル名や、ファイルサイズ、画像のプレビューなども可能です。

HTML

jQuery

結果(動作サンプル)

ローカルファイルを選択しボタンをクリックすると、ファイルの情報が出力されるかと思います。


 

アップロードフォームをセレクタに指定し、prop()でfilesプロパティを取得しています。

最後の[0]は最初のファイルという意味です。

もし複数選択するフォームで、2個目のファイルを指定したい場合は[1]という風に指定します。

他にもdisabledの状態を取得するサンプルも以下のページでご紹介しています。

参考:disabledの判定

プロパティの設定

HTMLのフォーム要素にプロパティを設定するときもprop()を使います。

構文

jQuery

prop()の第二引数にtrueを設定することで、プロパティを設定できます。

上記で説明したように、chekeddisabledといったプロパティはattr()では上手く動作しません。

prop()を使うようにしましょう。

ボタンをクリックするとチェックされるサンプル

それではprop()を使って、クリックしたボタンに対応したラジオボタンにチェックを入れてみましょう。

HTML

jQuery

結果(動作サンプル)

それぞれの性別ボタンをクリックすると、それに対応したラジオボタンにチェックが入るかと思います。

男性 女性
 

name属性を同じにしないと、両方ともにチェックが入ってしまうので注意しましょう。

ちなみにclassを設定する場合は以下のaddClass()を使います。

参考:addClass() でclassを追加する

他にもdisabledを設定するサンプルも以下のページでご紹介しています。

参考:disabledの設定

プロパティの解除

HTMLのフォーム要素に設定してあるプロパティを解除する場合もprop()を使います。

構文

jQuery

prop()の第二引数にfalseを設定することで、プロパティを解除できます。

removeProp()というプロパティを削除するメソッドもありますが、削除してしまうのは好ましくないため、prop()での処理が推奨されています。

ボタンをクリックするとチェックを外すサンプル

それではprop()を使って、ラジオボタンのチェックを外してみましょう。

HTML

jQuery

結果(動作サンプル)

ボタンをクリックするとラジオボタンのチェックが外れるかと思います。

男性 女性

ちなみにclassを削除する場合は以下のremoveClass()を使います。

参考:removeClass() でclassを削除する

他にもdisabledを解除するサンプルも以下のページでご紹介しています。

参考:disabledの解除

スポンサードリンク

  • このエントリーをはてなブックマークに追加
  • Pocket

コメントを残す

*