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

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っぽさが削がれている点で好み次第なところがあります。

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

コメント / トラックバック

コメント / トラックバック 2 件

  1. 男性 水着 ビキニ

  2. Finally, The machine locations Kirby on the table having a spiked ball over. Max Flexer states "finish him" plus the ball drops on Kirby. Kirby, being crushed, exhales all the chips that he swallowed, returning to his normal match state