zoukankan      html  css  js  c++  java
  • JavaScript连载29-元素类型获取、节点CD

    一、元素类型分类

    常量名 常量值 节点类型 描述
    Node.ELEMENT_NODE 1 Element 代表元素
    Node.ATTRIBUTE_NODE 2 Attr 代表属性
    Node.TEXT_NODE 3 Text 代表元素或者属性中的文本内容
    Node.CDATA_SECTION_NODE 4 CDATASection 代表文档中的CDATA部(不会由解析器解析的文本)
    Node.ENTITY_PEFERENCE_NODE 5 EntityReference 代实体引用
    Node.ENTITY_NODE 6 Entity 代表实体
    Node.PROCESSING_INSTRUCTION_NODE 7 Processinginstruction 代表处理指令
    Node.COMMENT_NODE 8 Comment 代表注释
    Node.DOCUMENT_NODE 9 Document 代表整个文档(DOM树的根节点)
    Node.DOCUMENT_TYPE_NODE 10 DocumentType 向为文档定义的实体提供接口
    Node.DOCUMENT_FRAGMENT_NODE 11 DocumentFragment 代表轻量级的Document对象(文档的某个部分)
    Node.NOTATION_NODE 12 Notation 代表DTD中的声明符号
    • 下面我们举个例子,取出一些元素标签
    <body>
    <div id="box">
        <button class="btn">按钮</button>
        <span id="span">
            <a href="#">一个链接</a>
        </span>
        <p class="lk">我是段落标签</p>
        <div>哈哈哈</div>
    </div>
    <script>
        window.onload = function (ev) {
            //1.获取标签
            var box = document.getElementById("box");
            //2.获取标签内部的所有节点
            var allNodeLists = box.childNodes;
            //3.过滤元素节点
            var newListArr = [];
            allNodeLists.forEach(function (value,key,parent) {
                // console.log(value);
                console.log(value.nodeType);
                if(value.nodeType === 1){//这里的意思就是把元素标签拿出来
                    newListArr.push(value);
                }
    
            });
            console.log(newListArr);
        }
    </script>
    </body>
    

    29.1

    二、节点CD

    • 文档加载过程补充讲解:
    • (1)onload:
    window.onload = function(){
    	//当页面加载完成执行
    	//当也买你完全加载所有的内容(包括图像、脚本文件、CSS文件等)执行
    
    • (2)onunload:
    window.onunload = function(){
    	//当用户退出页面时候执行
    }
    

    三、DOM

    • 节点操作
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>D29_1_TagCD</title>
    </head>
    <body>
        <div class = "box">
            <p id="word">xiaoming</p>
            <button id="btn">点我</button>
        </div>
    <script>
        window.onload = function (ev) {
            //CRUD操作
            var box = document.getElementsByClassName("box")[0];
            //1.创建节点
            var img = document.createElement("img")//创建了一个img标签
            img.src = "img/img_01.png";
            box.appendChild(img);
            var btn = document.getElementsByTagName("button")[0];
            box.insertBefore(img,btn);
        }
    </script>
    </body>
    </html>
    

    29.2

    三、源码:

    • D28_1_GetAPI.html
    • D29_1_TagCD.html
    • 地址:https://github.com/ruigege66/JavaScript/blob/master/D28_1_GetAPI.html
    • https://github.com/ruigege66/JavaScript/blob/master/D29_1_TagCD.html
    • 博客园:https://www.cnblogs.com/ruigege0000/
    • CSDN:https://blog.csdn.net/weixin_44630050?t=1
    • 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流
      911
  • 相关阅读:
    mxd与service的关系
    转到不同磁盘
    通过vs命令提示符注册dll
    粘贴带有行号的代码到vs2010中
    添加本地图层出现要求cross domain policy的错误
    删除服务后添加相同名字的服务注意点
    Silverlight_F5调试时要求安装相应版本的运行时
    网页优化
    SqlBulkCopy快速批量大数据插入
    2012项目总结
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13532743.html
Copyright © 2011-2022 走看看