1

$ .ajaxを入力した要素があります。カスタムで読み込まれたすべての要素をフェードしたいのですが、ページが読み込まれたときに要素にはすでに20個の要素が事前に入力されています。これらの要素をターゲットにしたくないのですが、基本的にはどうすればよいですか。合計37divがあると仮定して、後者の17 divをターゲットにしますか?現在私が使用しているもの:

while ($(".info #future>center>div").length>20) {
  $(".info #future>center>div:last-child").remove();
}

それらを削除しますが、今度はフェード効果を事前に適用する必要があります。そのプロパティはすでに取得されているため、クラスに何かを割り当てることはオプションではありません。

4

2 に答える 2

2

jqueryの`slice()Slice()メソッドを使用できます。DOM要素のセットを表すjQueryオブジェクトを指定すると、.slice()メソッドは、start引数とオプションでend引数で指定された要素のサブセットを含む新しいjQueryオブジェクトを作成します。提供された開始インデックスは、セット内の要素の1つの位置を識別します。endを省略すると、この要素以降のすべての要素が結果に含まれます。

 $('.info #future>center>div').slice(20).remove(); //Where start and end your  index to filter.  I omitted end parameter. if you want you can put it. .slice(20,37)

フェージング効果が必要な場合

$('.info #future>center>div').slice(20).fadeOut(300, function() { $(this).remove(); });
于 2013-03-17T15:27:51.413 に答える
0

jQuery :gt()Selectorを見てください。

以前は、提供されたインデックスよりも大きいインデックスですべての要素を選択していたため、次のコマンドで呼び出すことができます。index = 20

$(".info #future>center>div:gt(20)").remove();
于 2013-03-17T15:31:16.730 に答える