鶏口牛後な日々

心の赴くまま、やりたいことを仕事に。

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です。私はよく間違えてしまうのですが、カッコは要りません。