zoukankan      html  css  js  c++  java
  • JavaScript DOM基本操作

    前面讲了DOM查找节点方法;

    本文主要讲讲,通过JS新建、插入、替换等DOM的基本操作;

     


    (一)新建元素节点

    document.createElement('元素名');

    创建新的元素节点

    document.createTextNode('文本内容');

    创建新的文本节点

    document.createComment('注释节点');

    创建新的注释节点

    document.createDocumentFragment( );

    创建文档片段节点

     

     

     

     

     

     

     

    其中document.createElement()较为常用,需重点掌握;


     

    (二)添加元素节点

    通过上述create,只是创建而已,并没有真真添加,所以浏览器是显示不出来的。

    parent.appendChild( element/txt/comment/fragment );

    向父节点的最后一个子节点后追加新节点

    parent.insertBefore( newChild, existingChild );

    向父节点的某个特定子节点之前插入新节点

     

     

     

     

     1 <body>
     2     <div>
     3         <p></p>
     4         <em></em>
     5     </div>
     6 
     7 <script type="text/javascript">
     8     var div = document.getElementsByTagName('div')[0];
     9     var em = document.getElementsByTagName('em')[0];
    10 
    11     var strong = document.createElement('strong');
    12     div.appendChild(strong);
    13 
    14     var a = document.createElement('a');
    15     div.insertBefore(a,em);
    16 </script>

    结论:先创建在追加挂载;


     

    (三)删除元素节点

    parentNode.removeChild( existingChild );

    child.remove();

     

     1 <body>
     2     <div>
     3         <p></p>
     4         <span></span>
     5         <i></i>
     6         <a href="#"></a>
     7         <em></em>
     8     </div>
     9 
    10 <script type="text/javascript">
    11     var div = document.getElementsByTagName('div')[0];
    12     var span = document.getElementsByTagName('span')[0];
    13     var em = document.getElementsByTagName('em')[0];
    14 
    15     div.removeChild(span);//删除span标签
    16     em.remove();//删除em标签
    17 
    18 </script>
    19 </body>

    (四)替换元素节点

    parentNode.replaceChild( newChild, existingChild );

    用新节点替换父节点中已有的子节点

     

     

    此方法较为少用


     

     

    (四)修改/获取行间元素属性

    element.getAttribute('属性名') 

    方法返回指定属性名的属性值。
    element.removeAttribute('属性名'); 删除具有指定属性名称的属性,无返回值
    element.setAttribute( attributeName, attributeValue ); 若原元素已有该节点,此操作能达到修改该属性值的目的

     

     

     

     

     1 <body>
     2     <div class="red">
     3         <p></p>
     4         <span></span>
     5         <i></i>
     6         <a href="#"></a>
     7         <em></em>
     8     </div>
     9 
    10 <script type="text/javascript">
    11     var div = document.getElementsByTagName('div')[0];
    12     console.log(div.getAttribute('class'));
    13     div.setAttribute('id','only');
    14 </script>
    15 </body>

     

     

     

  • 相关阅读:
    UNP(2rd)第二卷源码编译
    A very hard mathematic problem
    并查集~
    N皇后问题 深搜dfs
    实践中的一点小问题
    java环境配置 HelloWorld
    精确时间计算方法
    C语言关于文件操作
    字典树应用~
    并查集应用2
  • 原文地址:https://www.cnblogs.com/wood2012/p/7990270.html
Copyright © 2011-2022 走看看