0

子孫を選択した後に要素を除外する方法があるかどうか疑問に思っています。この DOM があるとしましょう:

    <div class="container">
      <p></p>
      <p></p>
        .
        .
        .
      <p></p>
      <p></p>
    </div>

ここで、次のようにセレクターを使用すると:

$('.container p')

すべての<p>タグ/オブジェクトを取得します (それらが n 個のタグ/オブジェクトであるとしましょう)。k ランクの p-tag/objects を除外したい場合はどうすればよいですか? したがって、セレクターが n-1 個の p-tags/objects のみを返すようにしますか?

PS :id属性を使用することをお勧めするかもしれませんが、すべての p タグに を追加することはできず、id必要に応じてランク付けされた k または j の p タグを除外したいとします。また、これは JavaScript で実行できる可能性があることはわかっていますが、jQuery 固有の回答を探しています (ただし、JavaScript は最後の手段として適している可能性があります)。

k-ranked : k-ranked p-tag/object は、1 から数えて k 番目に配置された p-tag になります。

      <p></p>  <---> 1
      <p></p>  <---> 2
        .
        .
      <p></p>  <---> k 
        .
        .
      <p></p>  <---> n-1
      <p></p>  <---> n

ありがとう。

4

2 に答える 2

1

多分そのようなもの:

var $elements = $("div.container > p:not(:eq(2))");

ただし、「n」、「j」、「k」インデックスについては、もう少し説明してください。

于 2013-07-07T14:53:13.100 に答える
1

いくつかの要素にスタイルを適用し、そのタイプの k 番目の要素を除外したい場合は、これを使用できます:-

$( document ).ready(function() {
$("p:not(:eq(2))").css("border", "3px solid red");
    });

JSフィドル

于 2013-07-07T15:01:04.647 に答える