JQuery动态添加find方法

时间:2013-08-20 07:33:50

标签: jquery

我得到一个长度可变的数组。第一个元素始终是父元素。他找到孩子后,找孩子等等。我需要动态添加find方法。或者有更好的方法。

MyArray:{'.grand_parent','.older_child','.younger_child'} 

生成这个:

$(#base).parent('.grand_parent').find('.older_child').find('.younger_child');

这个阵列怎么样:

LongerArray:{'.grand_parent','.child1','.child2','.child3','child4'}

1 个答案:

答案 0 :(得分:3)

假设数组的第一个元素应该传递给.parent()方法,其他元素应该传递给.find()方法,不需要调用多个.find()方法,你可以.join()元素并将结果作为一个选择器传递给.find()方法:

$('#base').parent(arr[0]) // .parent(".grand_parent")
          .find(arr.slice(1).join(' ')); // .find(".child1 .child2 .child3 .child4")

请注意,.parent()方法不选择祖父元素,它只选择所选元素的第一级父元素(如果选择器传递给它,它只选择父元素,如果它匹配的话)指定的选择器),如果您想根据需要选择父/祖父母元素,您可以使用.closest().parents()方法。