2013-08-20 29 views
2

我得到一個長度可變的數組。第一個元素始終是父項。在他之後找到孩子,找到孩子等等。我需要動態添加查找方法。或者有更好的方法。JQuery動態添加查找方法

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

產生這樣的:

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

什麼有關此數組:

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

其實這是一個無效的對象不是數組。 – undefined

+0

我知道:)這只是僞。 – bergman

回答

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()方法。