2013-04-06 126 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

相關問題