removeNode 与 outerHTML

本文探讨了removeNode与outerHTML两种DOM操作方法的区别。removeNode不会立即删除节点,并且在某些情况下可能导致焦点问题;而outerHTML则可以即时替换节点。文章通过实际案例对比了这两种方法的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

removeNode(true)删掉本节点,本元素,包含子元素

removeNode(false)删掉本节点,本元素,不包含子元素

 

但是火狐不支持,

 

用outerHTML也可以删掉本节点

 

但是我最近在解一个多功能窗口时,发现一个问题,就是当一个窗口里面的网页并没有任何焦点时,关掉这个窗口时,下一个窗口的页面将无法被选中,仿佛有个遮蔽层的效果,而原来的页面被选中时,就不会有这个情况,后来我发现在关闭按纽的时候,他用的是removeNode这个方法,清掉装网页的table,和标题,我只要在这东西中alert(table.outerHTML),就不会出现以面那种情况,后来我改用outerHTML了,这种情况就好了,因为源代码太复杂,我没有办法进行简单的复现,也无力去研究了

 

removeNode这个方法是不会马上执行的,因为你

alert(a.outerHTML);

a.removeNode(true);

alert(a.outerHTML);

你会发现两个alert是没有变化的

 

而outerHTML是可以马上实现的,当然做完实验后,你会发现两个alert是有变化 ,但不是你想的.

 

这写这么多,留下个线索吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值