東京都新宿区のWeb制作会社 - ウェブラボ株式会社

クリエイターブログ

【脱jQuery】.parents()で親要素よりも上の要素の取得をネイティブJavascriptに書き換え

2020.08.20 Posted by

2126351_sこんにちはウェブラボ技術メモです。
親要素よりも上の、先祖要素を取得したいときありますよね。そんなときjQueryの.parents()メソッドを使用して取得することができます。今回は.parents()メソッドの紹介と、ネイティブで書きたいマニアの方へ、Javascriptではどのように書けばいいのかご紹介します。
 

  1. jQuery「.parents()」メソッド
  2. Javascript「.closest()」メソッドでネイティブに書き換え

 

jQuery「.parents()」メソッド

まず先にjQueryの「.parents()」メソッドの使用例を示します。

例:HTML

 
このようなHTMLにおいて、
div5からdiv1を取得したい場合、

例:jQuery

 
このように書くだけで取得できます。
似たようなもので、.parent()メソッドというものがありますが、これは直上の親要素を取得するメソッドであり、オーストラリアとオーストリアくらい違います。これを使い、
$(“.div5”).parent().parent()・・・のようにメソッドチェーンで先祖要素を取得することもできますが、HTML構造を守らないといけなくなるので、先祖の場合はparents()を使用したほうがいいでしょう。
 

Javascript「.closest()」メソッドでネイティブに書き換え

jQueryの「.parents()」メソッドの書き換えには、Javascriptの「.closest()」メソッドを使用します。
 

例:Javascript

 
のように使用します。
「.closest([セレクター])」なので、クラスにはドットを付け忘れないようご注意ください。
 
ちなみに、.parent()メソッドの書き換えは.parentNodeです。
parentNodeとwhile文とかで探し出すのかな~なんて思ってましたが、.closest()なんてものがあったんですね!
どうしても先祖要素の取得が必要な場面はあるかと思います。ぜひお役立てください。
 
以上、.parents()と、書き換えJavascriptでした。

オリエンシートダウンロード

採用サイト 絶対に外せない5つのチェックポイント

オリエンシートダウンロード

PAGETOP

お問い合わせContact

まずはお気軽にご相談ください。

Web制作・コンサルティング・システム開発に関するお問い合わせ・お見積もり依頼は、
電話・問い合わせフォームより受け付けております。(受付時間:平日9:30〜18:30)

〒160-0004 東京都新宿区四谷4丁目33-2
マーキュリースクエア4F

TEL:03-5366-3277 FAX:03-5366-3278