createTextNode()用于创建纯文本节点,返回Text对象,需配合appendChild()或insertBefore()插入DOM才能显示;它不解析HTML、无样式属性,适合安全、可控的文本插入场景。

createTextNode 是 JavaScript 中用于创建纯文本节点的方法,它返回一个 Text 类型的节点对象,不带任何 HTML 标签,只包含原始文本内容。要真正显示在页面上,必须将该文本节点插入到某个元素中(如 div、p 等)。
基本用法:创建并插入文本节点
使用 document.createTextNode() 创建文本节点后,需配合 appendChild() 或 insertBefore() 等方法将其添加到 DOM 中。
- 先获取目标父元素(例如通过
getElementById) - 调用
document.createTextNode("要显示的文字")创建节点 - 用
父元素.appendChild(文本节点)插入到末尾,或用父元素.insertBefore(文本节点, 参照节点)插入到指定位置
示例:
const div = document.getElementById('container');
const textNode = document.createTextNode('Hello, world!');
div.appendChild(textNode);
执行后, 内容变为:
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
与 innerHTML / textContent 的区别
createTextNode 创建的是独立的 DOM 节点,适合需要精细控制插入位置或与其他节点混合操作的场景;而 textContent 是属性,直接设置/读取元素的纯文本内容,会覆盖原有子节点;innerHTML 则会解析 HTML 字符串,存在 XSS 风险。
- 若只需替换整个元素的文本,用
element.textContent = "新文本"更简洁 - 若要在已有内容中插入一段纯文本(不破坏其他子节点),
createTextNode + appendChild更安全可控 - 避免用
innerHTML插入用户输入的文本,除非已做转义处理
常见组合操作:插入到特定位置或与其他节点共存
文本节点可和元素节点一起存在于同一父容器中,常用于动态拼接内容。
- 在段落开头插入说明文字:
p.insertBefore(document.createTextNode('【提示】'), p.firstChild) - 在两个按钮之间插入分隔文本:
parent.insertBefore(document.createTextNode(' or '), button2) - 创建后暂不插入,后续再挂载(适合异步或条件渲染逻辑)
注意点
文本节点本身没有 class、style 等属性,也不能直接设置样式;如需样式控制,应将其包裹在 span 或其他行内元素中再插入。
- 错误写法:
textNode.className = 'highlight'(无效) - 正确做法:创建
span元素 → 设置 class →appendChild(textNode)→ 再插入到父容器 - 文本节点中的换行符、多个空格会被浏览器合并显示为单个空格,如需保留格式可用
white-space: preCSS 控制
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










