如果使用jquery div长度超过一个,删除div元素?

时间:2013-11-11 05:37:03

标签: jquery html css

我们如何移除div个元素,如果有多个元素?以下是我的页面结构。

<div class='mydiv'></div>
<div class='mydiv'></div>
<div class='mydiv'></div>
<div class='mydiv'></div>
<div class='mydiv'></div>
<div class='mydiv'></div>

var countdiv = $(".mydiv").length;
if(countdiv > 1){
  var result = countdiv - 1; //answer is 5
  //remove the 5 remaining divs so that only one will appear in the page. 
}

谢谢,感谢您的帮助。

6 个答案:

答案 0 :(得分:3)

您可以使用.slice()

$('.mydiv').slice(1).remove()

演示:Fiddle

答案 1 :(得分:2)

你能试试吗,

简单地说:

  $(".mydiv:gt(0)").remove();

另一种方法:

            <script type="text/javascript">
                    $(function(){                                                               
                        var countdiv = $(".mydiv").length;
                         var i=1;
                        $(".mydiv").each(function(){

                            if(countdiv!=i){
                                $(this).remove();
                            }
                            i++;

                        });


                    });
            </script>

答案 2 :(得分:1)

试试这个:

var countdiv = $(".mydiv").length;
if(countdiv > 1){
  $(".mydiv:gt(0)").remove();//all .mydiv other than first will be removed
}

答案 3 :(得分:1)

尝试将remove():gt-selector一样使用,

var countdiv = $(".mydiv").length;
if(countdiv > 1){
  $(".mydiv:gt(0)").remove();
}

Demo

答案 4 :(得分:1)

试试这段代码:

方法1:使用CSS提供

    .mydiv{
      display: none;
    }
    .mydiv:first-child{
      display: block;
    }

* 方法2:使用JS *

.mydiv{
          display: none;
        }

$( ".mydiv:first-child" ).show();

答案 5 :(得分:0)

这应该这样做:

$(".mydiv").slice(1).remove();

如果有超过1个“.mydiv”元素,它将保留第一个并将删除应用于其余元素。