• 回顾——Dom节点类型


    DOM 节点

    在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。

    根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:

    • 整个文档是一个文档节点
    • 每个 HTML 元素是元素节点
    • HTML 元素内的文本是文本节点
    • 每个 HTML 属性是属性节点
    • 注释是注释节点

    节点层次

    DOM(Document Object Model——文档对象模型是用来呈现HTML或XML文档交互的一个API(应用程序编程接口)。

    dom将任意HTML或XML文档描述成一个由多层节点构成的结构(节点树)。

    Node类型(节点类型)

    DOM1级定义了一个Node接口。

    Node接口由DOM中的所有节点类型实现。

    除IE外,所有节点类型继承了Node节点类型

    Node节点类型共有12种,由12个数值常量来表示,如下:

    控制台运行例子:

    nodeType、nodeName、nodeValue相关

     

    例子:

    <body>
        大头
        <!-- 毛毛最帅 -->
        <h3 id="main"></h3>
        <a id="aid" href="https://www.baidu.com"></a>
       
        <script>
            //文档节点 
            var doc = document;
            console.log('===文档节点',doc.nodeName, doc.nodeType, doc.nodeValue);
    
            // DocumentType
            var docType = document.doctype;
            console.log('===DocumentType类型',docType.nodeName, docType.nodeType, docType.nodeValue);
    
            //元素节点
            var div_main = document.getElementByTagName('h3')
            console.log('---元素节点',div_main.nodeName, div_main.nodeType, div_main.nodeValue);
    
            // 属性节点
            var a_aid = document.getElementById('aid').getAttributeNode('href')
            console.log('---属性节点',a_aid.nodeName, a_aid.nodeType, a_aid.nodeValue);
    
            //文本和注释节点
            var span_node = document.querySelector('body').childNodes
            span_node.forEach(function (item, index) {
               
                if(item.nodeType==1){
                  console.log('===元素节点',item.nodeName, item.nodeType, item.nodeValue);
                }
                if(item.nodeType==3){
                  console.log('===文本节点',item.nodeName, item.nodeType, item.nodeValue);
                }
                if(item.nodeType==8){
                  console.log('===注释节点',item.nodeName, item.nodeType, item.nodeValue);
                }
                if(item.nodeType==9){
                  console.log('===文档节点',item.nodeName, item.nodeType, item.nodeValue);
                }
            })
    
            // DocumentFragment类型
            var frag = document.createDocumentFragment();
            var p=document.createElement('p');
            p.innerHTML="hello world"
            p.append(frag);
            console.log('文档片段类型',frag.nodeType,frag.nodeName,frag.nodeValue)
    
        </script>
    </body>

    一步一叩首,今天的自己比昨天好一点就行,明天的自己需追寻
  • 相关阅读:
    JS计算每个字符出现的次数
    FCL研究-目录
    FCL研究-LINQ-System.Linq Enumerable
    FCL研究-集合- System.Collections 接口和对象集合
    Vimperator常用快捷键
    【转】WCF光芒下的Web Service
    【转】GridView 加载空行并点击编辑每一个单元格
    [转]在C#程序设计中使用Win32类库
    OpenOffice实现Office转Pdf(支持自定义添加水印、页眉、页脚)
    VUE 动态路由
  • 原文地址:https://www.cnblogs.com/lingXie/p/15006100.html
Copyright © 2020-2023  润新知