jQuery トラバーサル - 子孫
DOM を下に移動します
children()
find()
children() メソッド
children() メソッドは、選択した要素の直接の子をすべて返します (子のみ)。
パラメータはオプションです。パラメータを追加するということは、セレクタとフィルタリング要素を介してフィルタリングすることを意味します。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .descendants * { 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(){ $("div").children("p.1").css({"color":"blue","border":"5px solid green"}); }); </script> </head> <body> <div class="descendants" style="width:300px;"> <p class="1">p (儿子元素) <span>span (孙子元素)</span> </p> <p class="2">p (儿子元素) <span>span (孙子元素)</span> </p> </div> </body> </html>
クラス名「1」を持つすべての <p> 要素を返します。それらは <div> メソッドの直接の子です。
find() メソッドは、選択された要素要素の子孫を返します。最後の子孫に至るまで。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .descendants * { 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(){ $("div").find("span").css({"color":"red","border":"3px solid blue"}); }); </script> </head> <body> <div class="descendants" style="width:300px;"> <p>p (儿子元素) <span>span (孙子元素)</span> </p> <p>p (儿子元素) <span>span (孙子元素)</span> </p> </div> </body> </html><div> の子孫であるすべての <span> 要素を返します。