jss html5-node.nodeType 属性用于表示节点的类型
在 JavaScript 中,node.nodeType 属性用于表示节点的类型。当 node.nodeType === Node.ELEMENT_NODE 时,表示该节点是一个元素节点(Element Node)。元素节点是 DOM 树中最常见的节点类型之一,用于表示 HTML 或 XML 文档中的元素。
以下是 node.nodeType 可能的值及其对应的节点类型:
表格
复制
| nodeType值 | 节点类型 | 描述 | 
|---|---|---|
| 1 | Node.ELEMENT_NODE | 表示一个元素节点,例如 <div>、<img>等。 | 
| 2 | Node.ATTRIBUTE_NODE | 表示一个属性节点,例如 id="myId"。 | 
| 3 | Node.TEXT_NODE | 表示一个文本节点,例如元素中的文本内容。 | 
| 4 | Node.CDATA_SECTION_NODE | 表示一个 CDATA 节点,用于包含不应由 XML 解析器解析的文本。 | 
| 5 | Node.ENTITY_REFERENCE_NODE | 表示一个实体引用节点,例如 ©。 | 
| 6 | Node.ENTITY_NODE | 表示一个实体节点,很少在 DOM 中使用。 | 
| 7 | Node.PROCESSING_INSTRUCTION_NODE | 表示一个处理指令节点,例如 <?xml-stylesheet type="text/xsl" href="style.xsl"?>。 | 
| 8 | Node.COMMENT_NODE | 表示一个注释节点,例如 <!-- This is a comment -->。 | 
| 9 | Node.DOCUMENT_NODE | 表示一个文档节点,例如整个 HTML 文档。 | 
| 10 | Node.DOCUMENT_TYPE_NODE | 表示一个文档类型节点,例如 <!DOCTYPE html>。 | 
| 11 | Node.DOCUMENT_FRAGMENT_NODE | 表示一个文档片段节点,用于临时存储节点集合。 | 
在你的代码中,node.nodeType === Node.ELEMENT_NODE 检查的是元素节点(Node.ELEMENT_NODE),其值为 1。这表示该节点是一个 HTML 元素,例如 <div>、<img>、<p> 等。
如果你需要遍历 editor 的所有子节点,并根据节点类型进行不同的处理,可以参考以下代码示例:
JavaScript
复制
const editor = document.getElementById('editor');
let AllTxt = '';
const childNodes = editor.childNodes;childNodes.forEach(node => {if (node.nodeType === Node.ELEMENT_NODE) {// 处理元素节点console.log(`Element: ${node.tagName}`);// 你可以根据元素类型进行进一步处理if (node.tagName === 'IMG') {// 处理图片元素const src = node.getAttribute('src') || '';AllTxt += `<img src='${src}' style='max-width:100%; max-height:500px;'>`;} else if (node.tagName === 'U') {// 处理下划线元素const textContent = node.textContent || '';AllTxt += `<u>${textContent}</u>`;} else {// 处理其他元素AllTxt += node.outerHTML;}} else if (node.nodeType === Node.TEXT_NODE) {// 处理文本节点AllTxt += node.textContent;} else if (node.nodeType === Node.COMMENT_NODE) {// 处理注释节点AllTxt += `<!--${node.textContent}-->`;} else {// 其他类型的节点AllTxt += node.nodeValue || '';}
});console.log(AllTxt);代码说明:
-  遍历子节点: -  使用 childNodes获取editor的所有子节点。
-  遍历每个子节点,根据 node.nodeType判断节点类型。
 
-  
-  处理不同类型的节点: -  元素节点( Node.ELEMENT_NODE):根据元素类型(如<img>或<u>)进行处理。
-  文本节点( Node.TEXT_NODE):直接获取文本内容。
-  注释节点( Node.COMMENT_NODE):处理注释内容。
-  其他类型的节点:根据需要处理其他类型的节点。 
 
-  
-  最终结果: -  将处理后的文本内容存储在 AllTxt中,你可以将其输出或保存为文件。
 
-  
这样,你可以根据节点类型进行不同的处理,最终生成符合需求的文本内容。
