ホーム » ブログ » 2011年06月 » jQueryで「要素オブジェクトA」が「要素オブジェクトB」に内包されているかを調べる方法

jQueryで「要素オブジェクトA」が「要素オブジェクトB」に内包されているかを調べる方法

posted 2011-06-29 |
このエントリーをはてなブックマークに追加

jquery_logo_color_onwhite

検索してもいい方法が見つからなかった

JavaScriptを書いていて、要素オブジェクトAが、要素オブジェクトBに内包されているかを確認したくて検索したのですが、方法が古かったり、セレクタを使用した方法で要素オブジェクトに対しては使えなかったりしたのでメモ的に書いておきます。

$(elmB).has(elmA) がイイ

$(elmB).has(elmA)で結果がboolean型で返ってきます。個人的にはこの書き方がjQueryらしくて好きですね。元々elmBからjQueryオブジェクトが作られていれば、なおよいです。

has()メソッドは @ichi_s さんに教えてもらいました。ありがとうございます!

$.contains(elmB, elmA)でもOK

$.contains(elmB, elmA)も、結果がboolean型で返ってきます。elmBのjQueryオブジェクトが作られていないとき、jQueryオブジェクトを作るコストが無くなるかもしれないので、もしかしたらこちらのほうが速く動作するかもしれません。ただ、jQueryっぽさが削がれている点で好み次第なところがあります。

以上、メモエントリでした。

Facebookコメント

ブログコメント/トラックバック

コメントをどうぞ