我有 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/