zoukankan      html  css  js  c++  java
  • js增加、删除、替换DOM对象

    当网页被加载时,浏览器会创建页面的文档对象模型DOM,即Document Object Model

    整个文档为一个文档节点(document对象)

    每个html元素为一个元素节点(element对象)

    html元素内的文本为文本节点(textNode对象)

    html元素的属性为属性节点(attribute对象)

    html注释为注释节点(comment对象)

    节点自身属性:

    nodeType:节点类型

    nodeName:节点名称

    nodeValue:节点值

    attributes:节点的属性节点

    innerHTML:节点的所有内容,包含节点下的文本,子标签等

    innerText:节点的文本内容,不包含子标签

    导航属性:

    parentElement / parentNode:父节点标签

    children:所有子标签

    firstElementChild:节点的第一个子元素标签

    lastElementChild:节点的最后一个子元素标签

    nextElementSibling:下一个兄弟元素标签

    previousElementSibling:上一个兄弟元素标签

    添加元素

    parent.appendChild(child) :用于向parent父元素中添加新元素,添加到尾部

    parent.insertBefore(newchild,oldchild):用于向parent父元素中添加新元素newchild,且添加到oldchild元素的前面。

    <div id="div" style='background:pink'>  <!--一个div下包含两个段落-->
      <p id="p1">这是一个段落。</p>
      <p id="p2">这是另外一个段落。</p>
    </div>
    <script>
      var para1 = document.createElement("p");   //创建段落p元素
      var node1 = document.createTextNode("这是一个新的段落,添加到尾部。");  //创建文本节点
      para1.appendChild(node1);  //将文本节点添加到p元素,这两步可直接使用para1.innerHTML='这是一个新的段落,添加到尾部。'
      var para2 = document.createElement("p");
      var node2 = document.createTextNode("这是一个新的段落,添加到开头。");
      para2.appendChild(node2);
      var element1 = document.getElementById("div");  //获取父元素div
      var element2 = document.getElementById("p1");  //获取第一个段落元素
      element1.appendChild(para1);  //向父元素中添加创建的子元素,默认放在最后面
      element1.insertBefore(para2,element2);  //向父元素中添加创建的子元素,位置在element2元素前面
    </script>

    以上,document.createElement("p")为创建段落,document.createTextNode("*")为创建文本节点。

    element1.appendChild(para1)为添加子元素到末尾,element1.insertBefore(para2,element2)为添加子元素到指定元素前面。

     删除元素parent.removeChild(child),删除元素必须知道其父元素

    <div id="div1" style='background:pink'>
        <p id="p1">这是一个段落。</p>
        <p id="p2">这是另外一个段落。</p>
    </div>
    <script>
        var parent = document.getElementById("div1");
        var child = document.getElementById("p1");
        parent.removeChild(child);
    </script>

     

    替换元素parent.replaceChild(newchild,oldchild),使用newchild元素替换oldchild元素

    <div id="div1" style='background:pink'>
        <p id="p1">这是一个段落。</p>
        <p id="p2">这是另外一个段落。</p>
    </div>
    <script>
        var para = document.createElement("p");
        var node = document.createTextNode("这是一个新的段落。");
        para.appendChild(node);
        var parent = document.getElementById("div1");
        var child = document.getElementById("p1");
        parent.replaceChild(para, child);
    </script>

  • 相关阅读:
    day06-Java方法和数组(二)
    day05作业-----------Java方法和数组
    day01作业-------------Java概述
    day04--Java流程控制
    获取数据库连接对象的方法
    oracle数据库时间的处理
    把页面获得的String格式的时间转换成date存入到数据库
    复选下拉菜单
    log4j实现日志记录(搬运)
    js点击按钮打开下拉菜单,再次点击关闭的简单办法
  • 原文地址:https://www.cnblogs.com/Forever77/p/10268850.html
Copyright © 2011-2022 走看看