股墓山庄

专注于AS3,JavaScript 每天一点进步,坚持...
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

remove() 方法的兼容问题

Posted on 2015-01-27 10:54  股墓山庄庄主  阅读(1102)  评论(0编辑  收藏  举报

一直以为jq的remove()方法是兼容的,今天才发现,原来ie的写法不一样,特作此记录。

 

removeNode方法的功能是删除一个节点,语法为node.removeNode(false)或者node.removeNode(true),返回值是被删除的节点。

  removeNode(false)表示仅仅删除指定节点,然后这个节点的原孩子节点提升为原双亲节点的孩子节点。

  removeNode(true)表示删除指定节点及其所有下属节点。被删除的节点成为了孤立节点,不再具有有孩子节点和双亲节点。

重点:removeNode 在FF下不兼容 解决方案

使用jQuery时 可用obj.remove()来移除节点(FF)但此方法不兼容IE

使用方法:try{obj.removeNode(true)}catch(err){obj.remove()}来解决兼容性问题;

在不使用jQuery时,Firefox中节点没有removeNode方法,只能用removeChild方法代替,先回到父节点,在从父节点上移除要移除的节点。node.parentNode.removeChild(node)node为获取的id对象