1

2 つの同一の div が並んでいる場合、それらの 1 つを削除する方法を探しています。

例:

<div id="foo">
    <ul>
        <li><a class="foo2" href="/">Home</a></li>
        <div class="foo3"></div><div class="foo3"></div>
        <li><a class="foo2" href="link.html"><strong>Link text</strong></a></li>
    </ul>
</div>

上記の例では、2 つの .foo3 リンクが存在しますが、必要なのは 1 つだけです。

基本的に次のようなもの:

$("#foo ul li:contains('div.foo3 div.foo3')").first().remove();
4

5 に答える 5

3

それは簡単です、試してみてください

   $('div.foo3').eq(1).remove();

JSFIDDLE - http://jsfiddle.net/rUvS5/1/

于 2013-07-08T15:54:27.233 に答える
1

これはどう?

$('#foo ul li').each(function() {
    if ($(this).find('div.foo3').length > 1)
        $(this).find('div.foo3:not(:first)').remove();
});

また、あなた.foo3の は ではなく、liにありますul

ワーキングデモ

于 2013-07-08T15:52:23.747 に答える
0

これを試して:

var i = 0;
$(".foo2").each(function() {
if (i >= 1){
    $(this).remove();
}     
 i++;
});
于 2013-07-08T15:54:14.443 に答える
0

.each()( docs )のようなものを探している.filter()か、最初の要素以外をすべて選択する方法を知っていると思います。(ドキュメント)。

$('#foo ul li div.foo3').each( function( i, elem ) {
  if( i != 0 ) {
    $(elem).remove();
  }
} );
于 2013-07-08T15:55:47.780 に答える
0

簡単な方法:

$('.foo3').last().remove();

実際の例: http://jsfiddle.net/PPBt2/1/

于 2013-07-08T15:57:40.537 に答える