jQuery“find”方法的替代方案
$('.wrapper a').find('a'); //return empty object
但我正在寻找一种通过选择器获得所有锚点的方法。 问题是找到方法只看后代那么它的替代方案是什么?
请在jsfiddle.net上测试一下
jQuery find
获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。
children
获取匹配元素集中每个元素的子元素,可选择由选择器过滤。
我认为你试图找到同一级别的元素然后你应该使用children
。 或者,您也可以使用filter
器根据选择器过滤匹配的结果。
filter
将匹配元素集合减少为与选择器匹配的元素或传递函数的测试。
试试这个
var div = $('.wrapper div').filter('.parent');
在寻找这个?
var div = $('.wrapper div').filter('.parent');
你的分叉演示
.find()
函数的替代方法如下:
- 子选择器(“父>子”)它只选择第一级后代或直接子元素。 例如
$('#parent_id > #child_id')
或$(".parent > .first-level-child")
- 后代选择器(“祖先后裔”)它选择该元素的子,孙,曾孙等。 在其中你可以使用
$('#parent_id #child_id')
或$('#parent_id #grandchild_id')
或$(".parent .great-grand-child")
或$( "form input" )
- .filter()仅搜索与前提条件匹配的元素 。
- .parent()获取当前匹配元素集中每个元素的父元素,可选择通过选择器进行过滤。
- .children()它的工作方式与find完全相同,但它只能找到第一级孩子 ,而不是更远的后代。
- .closest()从当前元素开始获取与选择器匹配的最近(第一个)元素。
有关jquery选择器的详细信息,请检查JQuery选择器
$('.wrapper a').find('a');
查找作为.wapprer后代的链接内的链接。 我想你可能意味着$('.wrapper').find('a');
。 在你的小提琴中
$('.wrapper').find('.parent');`
不确定的:
$('.wrapper div').find('.parent');