我们如何比较两个HTML元素是否相同
我试过这个东西,但没有成功
<;div class=“a”>;您好,我是sachin tendulkar</部门>;
<;div class=“a”>;您好,我是sachin tendulkar</部门>;
然后单击按钮,我调用函数检查()
var divs=$(“.a”);
警报(分区长度);//这里显示2,哪个是正确的
如果(divs.get(0)=divs.get(1))警报(“相同”);
但这是行不通的。在两个分区中,一切都是一样的。
除此之外,我们如何比较两个HTML元素是否完全相同。
包括它们的innerHTML、类名、Id和属性
这可行吗
实际上,我有两个HTML文档,我想从它们中删除相同的内容,这样两个元素就可以有相同的id
PS:在Crowder的宝贵评论后更新。
如果我们将两个元素作为字符串进行比较,我们将不会得到匹配,因为它们的属性顺序可能不同,所以唯一的选择是迭代每个子属性并匹配。我仍然需要找出一个完全可行的实施策略
您可以使用:
元素1.等质量节点(元素2);
在您的具体示例中:
var divs=$(“.a”);
if(divs.get(0.isEqualNode(divs.get(1)))警报(“相同”);
DOM Level 3核心规范包含了所有细节。本质上,如果两个节点具有匹配的属性、子节点和子节点的属性,则返回true
有一个类似的.isSameNode()仅当两个元素都是同一节点时才返回true。在您的示例中,这些节点不是相同的节点,但它们是相等的节点