javascript - jquery 2 div child 比较

标签 javascript jquery

我有 2 个元素( div ):

<div id="1">
 <div >
  <img /> <img />
  <span> </span>
   . 
   .
 <div>
 <div>
  <p></p>
  .
  .
 </div> 
 .
 .
</div>

<div id="2">
 <div >
  <img />
  <span></span>
  <h1></h1>
  . 
  .
 <div>
 . 
 .
</div>

两个 div 都有不同数量的 child ,这些 child 还有不同数量的子 child 我的问题 是,我想比较这 2 个 div 并访问 div#2 与 div#1 中存在的所有不同元素。我如何使用 jquery 方法尽可能高效地做到这一点?

最佳答案

这对你来说可能是一个好的开始:

function compare(o1, o2){
 var arr = [];
 $(o1).each(function(i1){        
     var match = false;
     $(o2).each(function(i2){            
         if ( $("o1:eq("+i1+")").html() == $("o2:eq("+i2+")").html() )
             match = true;
     });
     if ( !match )
         arr.push($("o1:eq("+i1+")")[0]);        
 });
 return arr;
}

您遍历每个元素并寻找匹配项。压入数组中所有不匹配的元素并返回数组。
请注意,它比较每个给定对象的第一个子对象。
调用它:

var diffs = compare(div1,div2);

关于javascript - jquery 2 div child 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10780562/

相关文章:

javascript - 如何在不使用 "linebreaksbr"模板过滤器的情况下在 Django 模板中显示换行符?

javascript - Firefox 的 Math.round 或 Date 不同吗?

javascript - 动态表单,Microsoft JScript 运行时错误 : 'b' is null or not an object

带有 Knockout.js 的 jQuery UI 日期选择器

javascript - 使用 jQuery.data() 存储 WebSocket 连接句柄对象时出现问题——最好的办法是什么?

javascript - 图像 slider - 幻灯片动画 - jQuery

javascript - 寻找我的 jQuery 和 JS 脚本的帮助

javascript - jQuery UI - 以某种方式拖动会忽略溢出 :hidden

javascript - 在中继分页graphql上滚动时合并以前的数据

javascript - 使用 jQuery selectable 选择连续的元素