javascript - 如果生成的div具有相同的html内容,则只显示一个

标签 javascript jquery

我在 ajax 调用结束时动态获取 div。其中一些 div 具有相同的 html 内容。我希望编写一段代码,让每个唯一内容仅显示一个 div。

查找内容相同的div,只显示其中一个。到目前为止我已经:

onAjaxComplete: function () {

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

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

            //DO SOMETHING HERE       
    }
});

autocomplete-suggestion 是我的具有相同内容的 div 的类名。

最佳答案

//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 元素

关于javascript - 如果生成的div具有相同的html内容,则只显示一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26015860/

相关文章:

javascript - AJAX 以错误的顺序返回

javascript - 如何根据按钮值停止切换按钮循环?

javascript - 使用固定的顶部栏滚动到 id

javascript - 使用 JQuery 将行中包含的属性链接添加到表中

jquery - 了解 jQuery AJAX 事件 - success 和 ajaxSuccess

jQuery Mobile 加载 ui-icon-alt

javascript - 使用javascript访问速度变量

javascript - IE8风格不支持setProperty方法

javascript - JS : Update Text Live on Page Everytime Input is Changed

javascript - 在 vue.js 中集成谷歌地图