如果相同,则删除两个div中的一个

时间:2013-07-08 15:46:48

标签: jquery

我正在寻找一种方法来删除两个相同的div之一,如果它们是并排的:

示例:

<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>

在上面的示例中,存在两个.foo3链接,而只需要一个。

基本上类似于:

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

5 个答案:

答案 0 :(得分:3)

很简单,试试

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

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

答案 1 :(得分:1)

这个怎么样?

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

此外,您的.foo3不在li中,而是在ul

<强> WORKING DEMO

答案 2 :(得分:0)

试试这个:

var i = 0;
$(".foo2").each(function() {
if (i >= 1){
    $(this).remove();
}     
 i++;
});

答案 3 :(得分:0)

我认为您正在搜索类似.each()docs)或.filter()的内容,如果您知道如何选择除第一个元素以外的所有元素。 (docs)。

$('#foo ul li div.foo3').each( function( i, elem ) {
  if( i != 0 ) {
    $(elem).remove();
  }
} );

答案 4 :(得分:0)

简单方法:

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

活生生的例子:http://jsfiddle.net/PPBt2/1/