zoukankan      html  css  js  c++  java
  • DOM几种最有用的方法和属性

    1.创建节点

    2.复制节点

    3.插入节点

    4.删除节点

    5.替换节点

    6.查找节点

    7.节点的属性

    8.遍历节点树

    ===========================================

    1.创建节点:

    var p = document.createElement("p");       //创建一个元素节点,新创建出来的元素节点不会被自动添加的奥文档里,它没有nodeParent属性,所以需要用appendChild or insertBefore or 其他方法添加到文档中
    p.setAttribute("title","this is title");       //设置元素节点的属性
    var txt = document.createTextNode("hello world");       //创建一个文本节点
    p.nodeType == 1;
    txt.nodeType ==3;
    p.appendChild(txt);     //将文本节点插入到元素当中
    document.body.appendChild(p);    //将节点添加到文档中

    2.复制节点:

    var new_node = old_node.cloneNode(bool);    //bool 是否连同复制子节点
    //如果bool是true,则也复制子节点,false则只复制本节点,连同本节点属性;复制的新节点也不在文档中,需要数动添加到文档
    
    //例如:
    var old_node = document.createElement("p");
    old_node.setAttribute("id","box");
    old_node.setAttribute("title","this is the title");
    var new_node = old_node.cloneNode(false);
    new_node.setAttribute("id","new_box");     //保证文档中每个节点id的唯一性
    document.body.appendChild(old_node);
    document.body.appendChild(new_node);

    3.插入节点

    <div id="page">
        <div id="header">header</div>
        <div id="navigation">navi</div>
        <div id="footer">footer</div>
    </div>
    var page = document.getElementById("page");
    var header = document.getElementById("header");
    var navi = document.getElementById("navigetion");
    var footer = document.getElementById("footer");
    var content = document.createElement("div");
    content.setAttribute("id","content");
    var txt = document.createTextNode("this is the content");
    content.appendChild(txt);
    //返回的是新节点的引用指针
    //如果target_node 未指定,insertBefore == appendChild
    //referrence = element.insertBefore(new_node,target_node);
    page.insertBefore(content,footer);    //将content插入到footer之前
    page.insertBefore(footer,header)    //将footer从page中删除,然后插入到header之前

    4.删除节点

    reference = element.removeChild(node);

    5.替换节点

    reference = element.replaceChild(new_node,old_node);

    6.查找节点

    element.hasChildNodes    //用来判断该节点是否含有子节点,返回true or false;

    注意:

    TextNode.hasChildNodes    //return false;

    AttrubuteNode.hasChildNodes    //return false;

    7.节点的属性

    nodeName,nodeType,nodeValue

    8.遍历节点树

    element.childNodes

    node.firstChild

    node.lastChild

    node.nextSibling   //求下一个兄弟节点

    node.parentNode  //求父节点

    node.previousSibling  //求前一个兄弟节点

  • 相关阅读:
    什么是web标准??
    狗子哥虽然失业了,但是生活才刚刚开始啊
    ionic hidden scroll bar
    参数化查询 '(@ActualShipTime datetime' 需要参数 @AuthorizationNumber,但未提供该参数。
    C# 使用PrintDocument 绘制表格 完成 打印预览 DataTable
    Linq 中按照多个值进行分组(GroupBy)
    OpenXml SDK 2.0 创建Word文档 添加页、段落、页眉和页脚
    Linq to sql 消除列重复 去重复
    添加访问人数统计
    国内各大互联网公司相关技术站点2.0版 (集合腾讯、阿里、百度、搜狐、新浪、360等共49个)
  • 原文地址:https://www.cnblogs.com/daxian2012/p/2622155.html
Copyright © 2011-2022 走看看