0

子がアニメーション化されていない場合にのみ要素を選択する jQuery セレクターを使用しようとしています。

私は試した:

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

うまくいきません

これだけでうまくいくことがわかった

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

.filter() 内の関数なしで選択する方法はありますか?

4

2 に答える 2

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");
});

フィルター関数は述語(true または false に評価される式) であり、子がアニメーション化されているラップされたセット内の要素を除外します。

于 2009-09-30T20:20:28.823 に答える
3

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

また

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

filterjQuery オブジェクトではなく、文字列または関数が必要です。ただし、最初のセレクターで要素を除外することもできます。

于 2009-09-30T20:17:56.750 に答える