jQuery Traversal - 先祖
先祖とは、父、祖父、曽祖父などです。
jQuery を使用すると、DOM ツリーを遡って要素の祖先を見つけることができます。
DOM ツリーを上に移動する
これらの jQuery メソッドは、DOM ツリーを上に移動するのに便利です
parent()
parents()
親sまで()
jQueryのparent()メソッド
parent()メソッドは、選択された要素の直接の親要素を返します。
このメソッドは、1 レベル上の DOM ツリーのみを走査します。
次の例は、各 <span> 要素の直接の親要素を返します:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .ancestors * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("span").parent().css({"color":"red","border":"2px solid red"}); }); </script> </head> <body> <div class="ancestors"> <div style="width:300px;">div (曾祖父元素) <ul>ul (祖父元素) <li>li (父元素) <span>span</span> </li> </ul> </div> <div style="width:300px;">div (祖父元素) <p>p (父元素) <span>span</span> </p> </div> </div> </body> </html>
プログラムを実行して試してみる
jQueryparents() メソッド
parents() メソッドはすべての要素を返します選択した要素の祖先要素。ドキュメントのルート要素 (<html>) まで続きます。
次の例は、すべての <span> 要素のすべての祖先を返します:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .ancestors * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("span").parents().css({"color":"red","border":"2px solid red"}); }); </script> </head> <body class="ancestors">body (曾曾祖父元素) <div style="width:300px;">div (曾祖父元素) <ul>ul (祖父元素) <li>li (父元素) <span>span</span> </li> </ul> </div> </body> </html>
プログラムを実行して試してください
また、オプションのパラメーターを使用して祖先要素の検索をフィルターすることもできます。
次の例は、<ul> 要素であるすべての <span> 要素のすべての祖先を返します。メソッド 指定された 2 つの要素の間にあるすべての祖先要素を返します。
次の例は、<span> 要素と <div> 要素の間にあるすべての祖先要素を返します。次のセクション