1

如果它们并排,我正在寻找一种方法来删除两个相同的 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();
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的 s 不在 a 中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 回答