[jQuery] 属性が存在するかどうかチェックするコード
スポンサーリンク
jQueryでhtmlタグに任意の属性が存在するかどうかを確認する方法のメモです。チェックボックスがチェックされているかどうかを確認するときなどに役立ちます。
jQueryにはhasClass()というクラスが存在するかどうか調べるメソッドがあります。だから属性の有無を調べるhasAttr()もあるだろうと思い込んでいたのですが無いんですね。つまり以下で紹介するのはhasAttr()を実現する方法でもあります。
<input id='target' type='checkbox'>
<script>
var attr = $("#target").attr("checked");
if( typeof attr !== 'undefined' && attr !== false ){
//チェックされていた場合の処理
}else{
//チェックされていなかった場合の処理
}
</script>
以上で対象タグの指定した属性の存在が確認できます。この場合はIDがtargetという名前のエレメントにcheckedという属性が存在しているかどうかを調べています。
実際はここまで念入りにやらなくとも、以下のコードでも大丈夫でしょうが、上に紹介したものの方がより確実だと思います。
if( $("#target").attr("checked") ){
//チェックされていた場合の処理
}else{
//チェックされていなかった場合の処理
}
前者のコードはStack Overflowの質問を参考にさせていただきました。ありがたいことです。
スポンサーリンク
jQueryカテゴリーの投稿
- [jQuery] $.ajaxのコールバック関数にcontextで値を渡す
- [jQuery] 文字列が含まれているかどうかの判定
- [jQuery] rowspanを持つtableで行の表示・非表示を切り替える
- [jQuery] find()とchildren()の使い分け
- jQueryとPHPでAJAX通信を行う
- [jQuery] $('form').change()でフォーム全体の変更を監視する
- [JS][jQuery] 要素の存在を確認する6通りのコードと実行速度
- [jQuery] tableの内容を取得する
- [jQuery] clone()で操作対象のエレメントを元の位置に保つ
- [jQuery] index()でクリックされたhtml要素が何番目の要素かを知る