我有2个元素(div):
我
<div id="1">
<div >
<img /> <img />
<span> </span>
.
.
<div>
<div>
<p></p>
.
.
</div>
.
.
</div>
II
<div id="2">
<div >
<img />
<span></span>
<h1></h1>
.
.
<div>
.
.
</div>
两个div都有different number of child
,而这些孩子还有different number of there subchilds
。 我的问题是,我想比较这两个div并访问div#2中存在的所有不相似的元素与div#1相比较。如何使用jquery方法并尽可能高效地完成此操作?
答案 0 :(得分:1)
这对你来说是一个好的开始:
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);