2009-09-30 37 views
0

我想有一個jQuery選擇器來選擇一個元素,只有當它的孩子沒有動畫。jquery selecter,篩選出動畫的孩子

我想:

var articalLink = $(".navArticals").filter($(this).children("ul:not(':animated')")); 

它不工作

原來,只有這個工作

var articalLink = $(".navArticals").filter(function() { 
    var filtered = $(this).children().not(":animated"); 
    return filtered 
}); 

有什麼辦法沒有內部.filter功能選擇( )?

回答

3

在這種情況下,我不這麼認爲,因爲您需要根據包裝集中每個元素的子元素應用過濾器。可以稍微縮短過濾器雖然對

// you don't necessarily need to assign to a variable, 
// just depends what you want to do with it 
var articalLink = $(".navArticals").filter(function() { 
    return $(this).children().not(":animated"); 
}); 

過濾器的功能是過濾掉包裹集,其兒童動畫的元素predicate(計算結果爲真或假的表達式)。

3

$(".navArticals").filter(":not(:has(:animated))")

$(".navArticals:not(:has(:animated))")

filter需要一個字符串或一功能,而不是一個jQuery對象。但是你可以用你的初始選擇器去除元素。

+0

僅供參考我試過了,他們沒有選擇我想要的東西。他們不過濾,如果它的孩子是動畫,反正謝謝。 – adardesign 2009-09-30 20:29:20

+0

它確實應該。 – geowa4 2009-09-30 20:34:57