Chinaunix首页 | 论坛 | 博客
  • 博客访问: 191669
  • 博文数量: 99
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1045
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-15 14:24
文章分类
文章存档

2015年(9)

2014年(90)

我的朋友

分类: jQuery

2014-08-22 15:12:53

在javascript操作dom树的时候可能会经常遇到增加,删除节点的事情,比如一个输入框后一个增加按钮,一个删除按钮,点击增加就增加个输入框,点击删除就删除对应的输入框。在一些js框架,如Prototype中,可以用element.remove()来删除一个节点,核心JS中并没有这样的方法,IE中有这样一个方法:removeNode(),尝试运行下面的代码

可以发现,这个方法在IE下是好使的,但是在Firefox等标准浏览器中就会报错了 removeNode is not defined,但是在核心JS中有一个操作DOM节点的方法叫:removeChild(),看名字应该就知道是移除子节点的,那么我们就可以变通一下来实现移除指定的节点了,我们可以先去找到要删除节点的父节点,然后在父节点中运用removeChild来移除我们想移除的节点。我们可以定义一个方法,就叫removeElement吧。

点击(此处)折叠或打开

  1. <script type="text/javascript">
  2. function removeElement(_element){
  3.          var _parentElement = _element.parentNode;
  4.          if(_parentElement){
  5.                 _parentElement.removeChild(_element);
  6.          }
  7. }
  8. </script>
  9. <div><input onclick="removeElement(this)" type="text" value="点击移除该输入框" /></div>


阅读(585) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~