[jQuery] 文字列が含まれているかどうかの判定

公開

スポンサーリンク

jQueryで取得したオブジェクトがある文字列を含んでいるかどうかを判定するために、isメソッドとcontainsセレクタを組み合わせて使う方法があります。

例えば以下のhtmlがあった場合。

<ul>
  <li>机の上にあるみかん</li>
  <li>りんごは箱の中に</li>
  <li>かごの中のぶどう</li>
</ul>

リストをクリックして、文字列が「りんご」を含むかどうか判定するには以下のコードになります。

$("li").click(function(){
  if ( $(this).is(":contains('りんご')") ) {
    alert('「りんご」を含む行がクリックされました');
  }
});

「りんご」が含まれていればTRUE、含まれていないならFALSEを返します。

まあ、「りんご」を含む行のクリックに反応させるだけなら、isを使わず、

$("li:contains('りんご')").click(function(){ ... })
とするのが普通だと思いますが、オブジェクト取得後に文字列に応じて処理を分岐させる場合にこの書き方が必要な場合もあります。

スポンサーリンク


Comment