2013-04-06 120 views
1

有一些列表具有相同的类。 我想从列表jQuery从同一个类名称中选择第一个对象

显示的第一个元素
<ul class="datas"> 
    <li class="data-smh1">abc</li> 
    <li class="data-smh1">dd</li> 
    <li class="data-smh1">cc</li> 
    <li class="data-sc33">abc</li> 
    <li class="data-sc33">dd</li> 
    <li class="data-nn61">abc</li> 
    <li class="data-nn61">dd</li> 
</ul> 

结果:

<ul class="datas"> 
    <li class="data-smh1">abc</li> 
    <li class="data-sc33">abc</li> 
    <li class="data-nn61">abc</li> 
</ul> 

我试图$( '类[^名= “数据 - ”]',但我couldn`找不到任何解决办法。
任何帮助,谢谢。

+0

http://stackoverflow.com/questions/10558923/jquery-remove-duplicated-element http://stackoverflow.com/questions/2822962/jquery-remove-duplicate-elements – rahularyansharma 2013-04-06 03:12:57

回答

5

尝试

$(function(){ 
    $('.datas').children().each(function(i, v){ 
     var $this = $(this); 
     $this.siblings('.' + $this.attr('class')).remove() 
    }); 
}) 

演示:Fiddle

+0

它的工作原理!谢谢:) – aquaism 2013-04-06 04:13:44

+0

不错的做法..! – Jashwant 2013-04-06 04:28:39

0
<ul class="datas"> 
    <li class="data-smh1">abc</li> 
    <li class="data-smh1">dd</li> 
    <li class="data-smh1">cc</li> 
    <li class="data-sc33">abc</li> 
    <li class="data-sc33">dd</li> 
    <li class="data-nn61">abc</li> 
    <li class="data-nn61">dd</li> 
</ul> 

JQUERY

$(document).ready(function(){ 
    var seen = {}; 
    $('.datas li').each(function(){ 
    //alert($(this).text()); 
    var txt = $(this).attr('class'); 
    if (seen[txt]) 
     $(this).remove(); 
    else 
     seen[txt] = true; 

    }) 
    }); 

结果

<ul class="datas"> 
    <li class="data-smh1">abc</li> 


    <li class="data-sc33">abc</li> 

    <li class="data-nn61">abc</li> 

</ul> 

JSFILDDEL LINK

+0

你复制http://stackoverflow.com/questions/2822962/jquery-remove-duplicate-elements – Jashwant 2013-04-06 03:30:02

+0

我只是使用该逻辑,但这是重复的元素,这是重复的类名..因为所有元素是相同的结果和一更多的事情,我张贴链接的第一个评论,之后,我在jsfiddle这个解决方案。 – rahularyansharma 2013-04-06 03:32:10

+0

@Jashwant所以,现在你正在复制什么? – Vivekh 2014-02-22 18:05:07

0

你可以试试这个:

$(document).ready(function(){ 
    var curr_class = ''; 
    var ctr = 0;  

    $('.datas li').each(function(){ 
     if (curr_class !== $(this).prop('class')){ 
      curr_class = $(this).prop('class'); 
      ctr = 0; 
     } 
     if (ctr !== 0){ 
      $(this).remove(); 
     } 
     ++ctr; 
    }); 

}); 

jsFiddle

相关问题