zoukankan      html  css  js  c++  java
  • JavaScript之DOM操作(二)

    这一篇写写常用并且通用的操作节点的一些方法。

    1.节点方法

    1>appendChild()

    向childNodes列表的末尾添加一个节点,语法 var aChild = element.appendChild(aChild); 

    需要注意的是,如果被传入的节点在文档中已经存在,那结果会将该节点从原来位置移除,然后再添加到指定位置。例:

    var returnedNode = someNode.appendChild(someNode.firstChild);
    console.log(returnedNode  === someNode.firstChild); // false
    console.log(returnedNode  === someNode.lastChild); // true

    2>insertBefore()

    把节点放在childNodes列表中某个指定节点之前,语法 var insertedNode = parentNode.insertBefore(newNode, referenceNode); 

    该方法接受两个参数,一个需要传入的节点,一个是参考节点,当参考节点为null时,insertBefore()和appendChild()效果相同。例:

    var returnedNode = someNode.insertBefore(newNode, null);
    console.log(newNode === someNode.lastChild); // true

    3>removeChild()

    从DOM中删除一个子节点,返回删除的节点。语法 var oldChild = node.removeChild(child); 

    注意,可以使用一个变量如oldChild来保存这个被移除的节点,如果需要,还可以在重新添加到文档中。

    4>replaceChild()

    用一个节点替换另外一个节点,并返回被替换的节点。语法 var replacedNode = parentNode.replaceChild(newChild, oldChild); 

    如上,用newChild替换掉oldChild

    5>cloneNode()

    节点调用该方法,返回一个该节点的副本。语法 var dupNode = node.cloneNode(deep); 

    node将要被克隆的节点,dupNode克隆生成的副本节点,deep 可选是否采用深度克隆,如果为true,则该节点的所有后代节点也都会被克隆,如果为false,则只克隆该节点本身。

    6>contains()

    返回的是一个布尔值,来表示传入的节点是否为该节点的后代节点。语法 node.contains( otherNode); 

    如果 otherNode 是 node 的后代节点或是 node 节点本身.则返回true , 否则返回 false.

    7>hasChildNodes()

    返回一个布尔值,当前节点有子节点时返回true,否则false。语法 element.hasChildNodes() 

    8>normalize()

    从MDN上截了一张图:

  • 相关阅读:
    CenOS下LAMP搭建过程
    CentOS下将自编译的Apache添加为系统服务
    CentOS下编译安装Apache(httpd)
    CentOS6下配置Django+Apache+mod_wsgi+Sqlite3过程
    Python格式化输出
    Python里如何实现C中switch...case的功能
    Python科学计算学习一 NumPy 快速处理数据
    每个程序员都应该学习使用Python或Ruby
    Python IDLE中实现清屏
    Graphviz 可视化代码流程
  • 原文地址:https://www.cnblogs.com/mcbai/p/6623868.html
Copyright © 2011-2022 走看看