0

次のリストがあり、そこから要素を削除したいと考えています。この特定の例では、2 番目の要素を削除したいと思います。

<a id="q1" rel="1" class="pagenum" href="#">2</a>

リストのコードは次のとおりです。

        <div id="carousel">
        <ul class="overview">
          <li id="l1">
              <a id="q0" rel="0" class="pagenum" href="#">1</a>
              <a id="q1" rel="1" class="pagenum" href="#">2</a>
              <a id="q2" rel="2" class="pagenum" href="#">3</a>
              <a id="q3" rel="3" class="pagenum" href="#">4</a>
              <a id="q4" rel="4" class="pagenum" href="#">5</a>                
          </li>
         </ul>
        </div>

前もって感謝します。

編集: $.each の行に沿って何かを使用することを望んでいました:

$("carousel li").each(function(index){
   if(index == SOME_NUM){
       this.remove()
   }
 });

しかし、これはうまくいかないようです。

追加の編集:

回答してくれたすべての人に感謝し、お詫び申し上げます。質問の言い回しが正しくありませんでした。ここに投稿する前に remove() 関数を見つけました-それはグーグルで十分に文書化されています:)。ただし、「li」の要素をループしてから、$.each ループを介して特定の要素を削除しようとしています。

追加の返信ありがとうございます。

4

3 に答える 3

4

IDは一意です。単純に使用できます$('#q1').remove();

あなたのコメントに基づいて

これらの id が多数あるため、 id の使用を避けようとしていました。例を縮小しました。$("overview li").each(function(index){ this.remove } の行に沿って何かを使用したいと思っていましたが、うまくいかないようです。

.eq関数または:eqセレクターを使用して、リストから特定のリンク タグを選択してみてください。

$('.overview li a:eq(1)') //-> Will return you the 2nd link
于 2012-04-13T17:37:49.743 に答える
2

これはあなたがやりたいことをするべきだと思います。

$counter = 0;
$("#carousel li").each(function(){
    if($counter == SOME_NUM)
    {
        this.remove();
    }
    $counter++;
});

ここでは、javascript var ではなく jquery $variables を使用することをお勧めします。これは、javascript var は関数スコープであり、$variables はドキュメント スコープであるためです。

于 2012-04-13T18:42:11.720 に答える
1

削除の基本的な形式は次のremoveとおりです。

$(selector).remove();

したがって、2 番目の要素については、次を使用できます[id]

$('#q1').remove();

リストの 2 番目のアイテムを削除したい場合、そのアイテムの とは無関係に、次の[id]ように使用できます。

$('#l1 :eq(1)').remove();

:eq0 ベースのインデックスを使用することに注意してください

削除機能自体は使いやすいですが、難しいのは、どのセレクターが最適かを判断することです。

于 2012-04-13T17:38:23.703 に答える