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()函数的替代方法如下:

  1. 子选择器(“父>子”)它只选择第一级后代或直接子元素。 例如$('#parent_id > #child_id')$(".parent > .first-level-child")
  2. 后代选择器(“祖先后裔”)它选择该元素的子,孙,曾孙等。 在其中你可以使用$('#parent_id #child_id')$('#parent_id #grandchild_id')$(".parent .great-grand-child")$( "form input" )
  3. .filter()仅搜索与前提条件匹配的元素
  4. .parent()获取当前匹配元素集中每个元素元素,可选择通过选择器进行过滤。
  5. .children()它的工作方式与find完全相同,但它只能找到第一级孩子 ,而不是更远的后代。
  6. .closest()从当前元素开始获取与选择器匹配的最近(第一个)元素。

有关jquery选择器的详细信息,请检查JQuery选择器

$('.wrapper a').find('a'); 查找作为.wapprer后代的链接内的链接。 我想你可能意味着$('.wrapper').find('a'); 。 在你的小提琴中

 $('.wrapper').find('.parent');` 

不确定的:

 $('.wrapper div').find('.parent');