zoukankan      html  css  js  c++  java
  • removeNode is not defined removeNode is not a function

    在javascript操作dom树的时候可能会经常遇到增加,删除节点的事情,比如一个输入框后一个增加按钮,一个删除按钮,点击增加就增加 个输入框,点击删除就删除对应的输入框。在一些js框架,如Prototype中,可以用element.remove()来删除一个节点,核心JS中并 没有这样的方法,IE中有这样一个方法:removeNode(),尝试运行下面的代码
    <div><input onclick="removeNode(this)" type="text" value="点击移除该输入框" /></div>
    可 以发现,这个方法在IE下是好使的,但是在Firefox等标准浏览器中就会报错了 removeNode is not defined,但是在核心JS中有一个操作DOM节点的方法叫:removeChild(),看名字应该就知道是移除子节点的,那么我们就可以变通一下 来实现移除指定的节点了,我们可以先去找到要删除节点的父节点,然后在父节点中运用removeChild来移除我们想移除的节点。我们可以定义一个方 法,就叫removeElement吧。
    function removeElement(_element){
             var _parentElement = _element.parentNode;
             if(_parentElement){
                    _parentElement.removeChild(_element);  
             }
    }
    尝试运行下面的代码,可以在各种浏览器中正确执行了。
    <script type="text/javascript">
    function removeElement(_element){
             var _parentElement = _element.parentNode;
             if(_parentElement){
                    _parentElement.removeChild(_element);
             }
    }
    </script>
    <div><input onclick="removeElement(this)" type="text" value="点击移除该输入框" /></div>

  • 相关阅读:
    hudson中 ANT 编译警告: 编码 UTF-8 的不可映射字符解决方法
    Jmeter与hudson,ant集成
    Hudson配置路径
    python 面向对象:封装---对象的属性可以是另一个类创建的对象
    python 面向对象:封装
    python3 f-string格式化字符串的高级用法
    iOS微信支付无法直接返回APP的问题
    学习git&github
    Appium之xpath定位详解
    selenium等待方式详解
  • 原文地址:https://www.cnblogs.com/xdot/p/5028529.html
Copyright © 2011-2022 走看看