第一百零一篇:DOM节点类型
好家伙,
DOM
DOM是javascript操作网页的接口,全称为文档对象模型(Document Object Model)。它的作用是将网页转为一个javascript对象,
从而可以使用javascript对网页进行各种操作(比如增删内容)。
浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组成一个树状结构。
(把他当成一个文件夹结构来理解就好了)
DOM的最小组成单位叫做节点(node),文档的树形结构(DOM树)由12种类型的节点组成。本文将主要说明DOM节点类型
1.Node类型
| NodeType | Named Constant | 
|---|---|
| 1 | ELEMENT_NODE | 
| 2 | ATTRIBUTE_NODE | 
| 3 | TEXT_NODE | 
| 4 | CDATA_SECTION_NODE | 
| 5 | ENTITY_REFERENCE_NODE | 
| 6 | ENTITY_NODE | 
| 7 | PROCESSING_INSTRUCTION_NODE | 
| 8 | COMMENT_NODE | 
| 9 | DOCUMENT_NODE | 
| 10 | DOCUMENT_TYPE_NODE | 
| 11 | DOCUMENT_FRAGMENT_NODE | 
| 12 | NOTATION_NODE | 
| 节点类型 | nodeType值 | 
|---|---|
| 元素节点 | 1 | 
| 属性节点 | 2 | 
| 文本节点 | 3 | 
 if ( someNode.nodeType == Node.ELEMENT_NODE ){ 
    alert (" Node is an element .");    
}
(网上每一篇都有这个例子,然后我发现这个例子是红宝书的)
2.节点类型:
| 节点类型 | 描述 | 子元素 | 
|---|---|---|
| Document | 表示整个文档(DOM 树的根节点) | 
 | 
| DocumentFragment | 表示轻量级的 Document 对象,其中容纳了一部分文档。 | 
 | 
| DocumentType | 向为文档定义的实体提供接口。 | None | 
| ProcessingInstruction | 表示处理指令。 | None | 
| EntityReference | 表示实体引用元素。 | 
 | 
| Element | 表示 element(元素)元素 | 
 | 
| Attr | 表示属性。 | 
 | 
| Text | 表示元素或属性中的文本内容。 | None | 
| CDATASection | 表示文档中的 CDATA 区段(文本不会被解析器解析) | None | 
| Comment | 表示注释。 | None | 
| Entity | 表示实体。 | 
 | 
| Notation | 表示在 DTD 中声明的符号。 | None | 
于是我们随便开个网页试一下:
<!DOCTYPE html>
<html>
<head> 
    <meta charset="utf-8"> 
    <title>报名表</title> 
</head>
<body>
    <h1 id="table">报名表</h1>
    <form action="demo-form.php">
        <input type="submit" value="提交">
    </form>
    <p>欢迎大家加入</p>
</body>
<script>
    if (table.nodeType == Node.ELEMENT_NODE) {
        alert("this is an element");
    }
</script>
</html>

再加两行来看看效果:
  var txt = table.firstChild;
    console.log(txt.nodeType,txt.nodeName,txt.nodeValue)
效果如下

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号