jQueryで属性値が一致するものの存在チェックをしたい
valueが〜〜なinputタグがあったら、〜〜したい、と言ったif文を書きたいとします。
これは「セレクタを属性値で絞り込む」という要素と、「要素の存在チェックをする」という要素に別れます。
セレクタを属性値で絞り込む
これは、valueでも、nameでも、使えます。
$('input[value="hoge"]'); $('input[name="hoge"]);
hoge
のところに変数を入れたい場合は、
$('input[value="' + 変数名 + '"]');
とすればOK!
classやidでも使えると思いますが、こちらは、idなら#
、classなら.
を単語頭につければいいので、わざわざ使う必要はないですね。
存在をチェックするif文
if( $('input[value="hoge"]').length ) { // 存在するとき } else { // 存在しないとき }
これでいけます。あと、.length
を .size
にしてもいけます。
このとき、 .length()
や、 .size()
とカッコをつけてはNGです。私はよく間違えてしまうのですが、カッコは要りません。