zoukankan      html  css  js  c++  java
  • 节点

    节点 

    • 元素节点 : 标签是元素节点
    • 属性节点 : 例:Id , name , type , value
    • 文本节点 : 例:title、h1、p下的文档

    节点属性

    • nodeType :节点类型,输出数值。例 1,2,3,,,
    • nodeName:(文本#text)
    • nodeValue: 属性值,文本内容,可为null。
    let h = document.getElementById("h");
    console.log("元素节点的nodeType:",h.nodeType);
    let attr = h.attributes;
    console.log("属性节点的nodeType:",attr[1].nodeType);
    console.log("属性节点的nodeName:",attr[1].nodeName);
    let textNode = h.firstChild;
    console.log("文本节点的nodeType:",textNode.nodeType);
    console.log("文本节点的nodeName:",textNode.nodeName);
    console.log("文本节点的nodeValue:",textNode.nodeValue);

    节点导航

    • firstChild
    • lastChild:
    • nextSibling 兄弟级,下一个
    console.log(h.nextSibling.nextSibling.nextSibling.nextSibling.previousSibling.previousSibling);
      // 第一个nextSibling输出结果为空,因两级之间有换行
    • previousSibling 兄弟级,上一个
    • childNodes 所有子级
    • parentNode 父级
    let rootElement = document.documentElement;
    console.log(rootElement.childNodes);
    console.log(h.parentNode);

    获取节点方法

    • getElementsById Id具有唯一性
    • getElementsByTagName 得到所有相同的标签,结果为数组
    • getElementsByName 结果为所有相同的name
    • 参数可写CSS选择器:
    • querySelector 得到相同的第一个
    • querySelectorAll 得到所有,数组

    节点操作

    方法:

    创建

    • createElement 创建元素节点
    • createAttribute 创建属性
    • createTextNode 创建文本节点

    注:calss 是关键字,不能直接用class,应用calssName

    增加

    • appendChild 增加到末尾

        父级.appendChild(子级)

    h3.title = "h3 title";
    h3.className = "fontColor";
    console.log(h3,text);
    h3.appendChild(text);
    • insertBefore 增加在XX之前 insertBefore(要插入的元素,在XXX之前)

      

     d1.insertBefore(h3,d1.firstChild);

    删除

    removeChild

    let delBtn = document.getElementById("delBtn");
    delBtn.onclick = function(){
        d1.removeChild(d1.lastChild);
    
    }

    替换

    replaceChild

    let replaceBtn = document.getElementById("replaceBtn");
    replaceBtn.onclick = function(){
        let p = document.createElement("p");
        let text = document.createTextNode("段落");
        p.appendChild(text);
        d1.replaceChild(p,d1.firstChild); // p,要替换的内容;d1.firstChild 原本的内容
    }
  • 相关阅读:
    win7环境下一次浅谈栈溢出
    字符约束条件的SQL注入攻击
    较有意思的Apple XSS(CVE-2016-7762)漏洞
    metasploit下Windows下多种提权方式
    NTFS ADS带来的web安全问题
    某安全团队内部渗透比赛
    MySQL注射绕过技巧(三)
    MySQL注射绕过技巧(二)
    MySQL注射绕过技巧
    centos7 zabbix3.4.6显示中文乱码问题
  • 原文地址:https://www.cnblogs.com/llying/p/7781670.html
Copyright © 2011-2022 走看看