0

html 要素の倍数を選択する方法を教えてください。この例では、4 番目の要素から 7 番目の要素まで、8 番目の要素から 11 番目の要素まで、というように選択することに関心があります。

4

5 に答える 5

2

次のようにnth-childとを組み合わせてみてください。not

:nth-child(-n+7):not(:nth-child(-n+3))

奇妙に思えるかもしれませんが、最初のnth-child選択では要素 1 から 7 が選択され、2 番目の要素では要素 1 から 3 が削除され、要求どおりに 4 番目、5 番目、6 番目、7 番目が残ります。

于 2012-05-31T14:15:52.153 に答える
0

jqueryセレクターは配列を返すので、実際に行くことができます

 var four_to_seven = [] 

 var $results = $('.myselector');

 for(var i in $results){
     if(i>=3 && i<=6){
          four_to_seven.push($results[i]);
     }
 }
于 2012-05-31T14:15:24.360 に答える
0

要素の「範囲」を選択したいようです。「倍数」という言葉は私を驚かせました。きれいではありませんが、次のように nth-child を使用できます。

$(":nth-child(4), :nth-child(5), :nth-child(6),:nth-child(7)")

API ドキュメント: http://api.jquery.com/nth-child-selector/

于 2012-05-31T14:16:02.360 に答える
0

JQuery オブジェクトは、セレクターを介して見つけたすべての要素のリストを保持します。このリストのインデックスを使用してアイテムを取得できます。

例えば:

$("div")[1] <- second div in the document
$("div")[3] <- fourth div in the document.

JavaScript を使用してそれらをループできます。

それが役立つことを願っています!

于 2012-05-31T14:17:05.513 に答える
0

1 回限りの場合は、セレクター:gt:ltセレクターを組み合わせて使用​​できます。たとえば、次のようになります。

var divs = $("div:gt(2):lt(4)"); // Fourth through seventh inclusive

それらをグループでループしたい場合、最初の数値 ( ) は変化します:gt(x)が、2 番目の数値は変化しません (前者の結果に適用されるため)。ソース

ループしていると思いますが、それらをすべて取得してから使用しますslice。「4 番目から 7 番目」と「8 番目から 11 番目」はどちらも 4 つのグループですが、「1 番目から 3 番目」は 3 つのグループであるため、開始点 (4 番目) は少し奇妙です。

3 人グループでの使用slice:

jQuery(function($) {

  var divs = $("div");
  var index;
  var group;

  // By threes rather than fours
  group = 0;
  for (index = 0; index < divs.length; index += 3) {
    ++group;
    divs.slice(index, index + 3).append(
      "<span>Group " + group + "</span>"
    );
  }

  function display(msg) {
    $("<p>").html(msg).appendTo(document.body);
  }
});

実例| ソース

于 2012-05-31T14:19:32.267 に答える