jquery向下遍历dom树的两种方法

children()仅遍历直接子元素,支持选择器过滤;find()可遍历所有后代元素,需传入选择器,适用于深层查找。

在jQuery中,向下遍历DOM树主要用于查找某个元素的后代节点。常用的两种方法是 children()find()。它们都能向下遍历,但使用场景和匹配范围有所不同。

children() 方法

该方法只遍历 DOM 树的直接子级,也就是第一层子元素,不会深入更深层的后代。

• 只返回父元素的直接子元素
• 不会匹配孙子及更深层的元素
• 支持选择器过滤,可选地筛选特定子元素

示例:

$('#parent').children();        // 获取所有直接子元素
$('#parent').children('.item'); // 获取 class 为 item 的直接子元素

find() 方法

该方法可以遍历到指定元素下的所有后代元素,无论嵌套多深,只要符合条件就会被选中。

• 可以查找任意层级的后代元素
• 必须传入选择器(如标签名、类名、ID等)
• 返回所有匹配的后代节点

示例:

$('#parent').find('*');       // 查找所有后代元素
$('#parent').find('span');    // 查找所有 span 后代元素
$('#parent').find('.active'); // 查找所有 class 为 active 的后代

基本上就这些。children() 更精准控制一层结构,find() 更适合深度查找。根据实际结构选择合适的方法即可。