복붙노트

[JQUERY] JQuery와는 : 중복 요소를 제거?

JQUERY

JQuery와는 : 중복 요소를 제거?

해결법


  1. 1.

    var seen = {};
    $('a').each(function() {
        var txt = $(this).text();
        if (seen[txt])
            $(this).remove();
        else
            seen[txt] = true;
    });
    

    설명:

    본 true로 이전에 볼 텍스트를 매핑하는 객체입니다. 그것은 이전에 볼 텍스트가 포함 된 세트로 작동합니다. 텍스트가 설정되어있는 경우는 라인 (본 [TXT]) 여부를 확인하는 경우. 그렇다면 우리가 링크를 제거 할 수 있도록, 우리는 전에이 텍스트를 보았다. 그렇지 않으면, 이것은 우리가 처음으로 참조 링크 텍스트입니다. 우리는 같은 텍스트가 더 링크가 제거 될 수 있도록 세트에 추가합니다.

    집합을 표현하는 다른 방법은 모든 값을 포함하는 배열을 사용하는 것이다. 그러나,이 값은 우리가 전체 배열 매번 스캔해야하는 것 배열에 있는지 확인하기 때문에 훨씬 느리게 만들 것입니다. 객체의 키를 찾고하는 것은 본 사용 [TXT] 비교에 매우 빠릅니다.


  2. 2.사용 jQuery를 방법 $의 .unique ()

    사용 jQuery를 방법 $의 .unique ()

    http://api.jquery.com/jQuery.unique/에 대한 세부 사항 참조


  3. 3.

    // use an object as map
    var map = {};
    $("a").each(function(){
        var value = $(this).text();
        if (map[value] == null){
            map[value] = true;
        } else {
            $(this).remove();
        }
    });
    

  4. 4.

    $(document).ready(function(){
       $("select").each(function () {
           var selectedItem = $(this).find('option').filter(':selected').text();
           var selectedItemValue = $(this).find('option').filter(':selected').val();
           $(this).children("option").each(function(x){
               if(this.text == selectedItem && $(this).val() != selectedItemValue) {
                   $(this).remove();
                }
            });
        }); 
    });
    

  5. 5.@interjay @Georg FRITZSCHE

    @interjay @Georg FRITZSCHE

    나는 다른 버전을 구축 할 수 있도록 귀하의 수정은 내 경우에는 작동하지 않았다 :

    var seen='';
       $('a').each(function(){
            var see=$(this).text();
            if(seen.match(see)){
                $(this).remove();}
            else{
                seen=seen+$(this).text();
            }
        });
    

    이 단지의 경우에 유효한 대안 짧은 수정과 다른 사람을 제공 기대하고있다.


  6. 6.빠르고 쉬운 방법이 될 것이다

    빠르고 쉬운 방법이 될 것이다

    $("a").​​​​​​​​each(function(){
        if($(this).parent().length)
            $("a:contains('" + $(this).html() + "')").not(this).remove();
    });​
    

  7. 7.니스 솔루션 사람들. 여기에 광산이다

    니스 솔루션 사람들. 여기에 광산이다

    for (i = 0; i < $('li').length; i++) {
      text = $('li').get(i);
      for (j = i + 1; j < $('li').length; j++) {
        text_to_compare = $('li').get(j);
        if (text.innerHTML == text_to_compare.innerHTML) {
          $(text_to_compare).remove();
          j--;
          maxlength = $('li').length;
        }
      }
    }
    

    인사말


  8. 8.

    $('.photo').each(function (index) { 
        if (index > 0) { 
            $(this).remove(); 
        } 
    });
    
  9. from https://stackoverflow.com/questions/2822962/jquery-remove-duplicate-elements by cc-by-sa and MIT license