isSameNode( )和isEqualNode( )比较节点的区别

40 篇文章 2 订阅
27 篇文章 0 订阅

DOM3级引入了两个辅助比较节点的方法:isSameNode( )和isEqualNode( )。

分别判断传入的节点与引用的节点是否相同相等

所谓相同,指的是两个节点引用的是同一个对象;

所谓相等,指的是两个节点是否是同一类型,具有相等的属性(nodeName,nodeValue。。。等等),还有相等的attributes,childNodes(相同的位置包含相同的值)

语法:

node1.isSameNode(node2) 
node1.isEqualNode(node2)

举个栗子~


html:

<form action="#">
    <input type="button"/>
</form>

<form action="#">
    <input type="button"/>
</form>

<form action="#" id="o">
    <input type="button"/>
</form>

<form action="#" id="o">
    <input type="text"/>
</form>

js:
var forms = document.forms;

var form1 = forms[0];
var form2 = forms[1];
var form3 = forms[2];
var form4 = forms[3];
var _form1 = document.querySelectorAll('form')[0];


console.log( form1.isSameNode(form1) )  //true  两个节点引用的对象都是第一个form
console.log( form1.isSameNode(_form1) ) //true  两个节点引用的对象都是第一个form
console.log( form1.isSameNode(form2) )  //false 两个节点引用的不是一个对象

console.log( form1.isEqualNode(form2) ) //true  两个节点具有完全等同属性
console.log( form1.isEqualNode(form3) ) //false form1中无等同的id属性
console.log( form3.isEqualNode(form4))  //fasle form4的childNodes中的input为text类别,与form3不同
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值