2014-09-24 3 views
0

Я динамически получаю divs в конце вызова ajax. Некоторые из этих divs имеют одно и то же содержимое html. Я хочу написать код, который будет отображать только один div для уникального контента.Если сгенерированные divs имеют одинаковый контент html, покажите только один

Найти divs с тем же контентом и отобразить только один из них. До сих пор у меня есть:

onAjaxComplete: function() { 

    $("div.autocomplete-suggestions > .autocomplete-suggestion").each(function() { 

     while ($(this).html()) { 

      //DO SOMETHING HERE  
    } 
}); 

autocomplete-suggestion это имя класса из моих дивы с тем же содержанием.

+1

надежда ниже ответ поможет вам [нажмите здесь] [1] [1]: HTTP: //stackoverflow.com/questions/2822962/jquery-remove-duplicate-elements – Feroza

+0

Это действительно спасибо – LazyPeon

ответ

1
//include this function at the top 
function contentInArray(arr,thing){ 
    for(var i=0;i<arr.length;i++){ 
     if (arr[i].innerHTML==thing.innerHTML)return true; 
    } 
    return false; 
} 
    //code code code code code 

    onAjaxComplete: function() { 
    divs=$("div.autocomplete-suggestions > .autocomplete-suggestion"); 
    arr=[]; 
    for(var i=0;i<divs.length;i++){ 
     if (!contentInArray(arr,divs[i])) arr.push(divs[i]) 
    } 
}); 

Теперь у вас есть массив HTML элементов уникального контента

Смежные вопросы