查詢方法:1、使用children()函數(shù),可查詢指定節(jié)點內(nèi)的直接子集元素,語法“$(selector).children(filter)”;2、使用find()函數(shù),可查詢指定節(jié)點內(nèi)的所有(包括子集的子集)子集元素,語法“$(selector).find(filter)”。
本教程操作環(huán)境:windows7系統(tǒng)、jquery3.6版本、Dell G3電腦。
查詢節(jié)點內(nèi)的元素,就是查詢指定節(jié)點的子元素。
jquery查詢子元素有兩種方法:
-
children()方法:獲取該元素下的直接子集元素
-
find()方法:獲取該元素下的所有(包括子集的子集)子集元素
下面我們就來了解一下這兩個方法。
jquery children()方法
children() 方法返回被選元素的所有直接子元素。
DOM 樹:該方法只沿著 DOM 樹向下遍歷單一層級。如需向下遍歷多個層級(返回子孫節(jié)點或其他后代),請使用 find() 方法。
提示:如需沿著 DOM 樹向上遍歷單一層級,或向上遍歷直至文檔根元素的所有路徑(返回父節(jié)點或其他祖先),請使用 parent() 或 parents() 方法。
注意:該方法不會返回文本節(jié)點。如需返回包含文本節(jié)點的所有子節(jié)點,請使用 contents() 方法。
語法
$(selector).children(filter)
參數(shù) | 描述 |
---|---|
filter | 可選。規(guī)定縮小搜索子元素范圍的選擇器表達式。 |
示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="js/jquery-3.6.3.min.js"></script> <style> div * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script> $(document).ready(function() { $("button").on("click", function() { $("ul").children("*").css({ "color": "red", "border": "2px solid red" }); }); }); </script> </head> <body class="ancestors"> <div style="width:500px;">div (父節(jié)點) <ul>ul (指定元素) <li>li (子節(jié)點1) <span>span (孫節(jié)點1)</span> </li> <li>li (子節(jié)點2) <span>span (孫節(jié)點2)</span> </li> <li>li (子節(jié)點3) <span>span (孫節(jié)點3)</span> </li> </ul> </div> <button>選取ul的所有直接子元素</button> </body> </html>
jquery find() 方法
find() 方法返回被選元素的后代元素。(后代是子、孫、曾孫,依此類推。)
-
DOM 樹:該方法沿著 DOM 元素的后代向下遍歷,直至最后一個后代的所有路徑(<html>)。
語法:
$(selector).find(filter)
參數(shù) | 描述 |
---|---|
filter | 必需。過濾搜索后代條件的選擇器表達式、元素或 jQuery 對象。
注意:如需返回多個后代,請使用逗號分隔每個表達式。 |
說明:filter參數(shù)用于過濾查找結(jié)果,只需要將參數(shù)設置為“*”即可查找全部子元素。
示例:查詢所有子元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="js/jquery-3.6.1.min.js"></script> <style> div * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script> $(document).ready(function() { $("button").on("click", function() { $("ul").find("*").css({ "color": "red", "border": "2px solid red" }); }); }); </script> </head> <body class="ancestors"> <div style="width:500px;">div (父節(jié)點) <ul>ul (指定元素) <li>li (子節(jié)點1) <span>span (孫節(jié)點1)</span> </li> <li>li (子節(jié)點2) <span>span (孫節(jié)點2)</span> </li> <li>li (子節(jié)點3) <span>span (孫節(jié)點3)</span> </li> </ul> </div> <button>選取ul的所有子元素</button> </body> </html>
【推薦學習:jQuery視頻教程、web前端視頻】