JavaScript append() 方法
最后修改于 2025 年 4 月 2 日
在本文中,我们将探讨 JavaScript 中的 element.append()
方法。此方法对于 DOM 操作至关重要,它允许开发人员将节点或字符串添加到父元素的子元素的末尾。
基本定义
append()
方法在父元素的最后一个子元素之后插入一组 Node 对象或字符串。与 appendChild()
不同,它可以接受多个参数和字符串值。
该方法直接修改 DOM 并返回 undefined。它在所有现代浏览器中都受支持,但在 Internet Explorer 中不受支持。字符串会自动插入为 Text 节点。
基本的 append() 用法
此示例演示了如何将一个简单元素追加到容器中。
<!DOCTYPE html> <html> <head> <title>Basic append()</title> </head> <body> <div id="container"></div> <script> const container = document.getElementById('container'); const newDiv = document.createElement('div'); newDiv.textContent = 'Appended element'; container.append(newDiv); </script> </body> </html>
在这个基本示例中,我们创建一个 div 元素并将其追加到容器中。append()
方法将新 div 添加为容器的最后一个子元素。
这演示了 append()
向 DOM 添加元素的基本用法。对于简单的情况,该方法比 appendChild()
更简洁,并且对于元素节点的工作方式相似。
追加多个元素
此示例展示了如何一次使用 append() 追加多个元素。
<!DOCTYPE html> <html> <head> <title>Multiple Elements</title> </head> <body> <ul id="list"></ul> <script> const list = document.getElementById('list'); const item1 = document.createElement('li'); const item2 = document.createElement('li'); item1.textContent = 'First item'; item2.textContent = 'Second item'; list.append(item1, item2); </script> </body> </html>
在这里,我们在一个操作中创建了两个列表项并将它们追加到无序列表中。append()
方法接受多个参数。
这展示了 append()
在添加多个元素时相对于 appendChild()
的优势。它减少了所需的 DOM 操作次数。
追加字符串和元素
此示例演示了 append() 如何处理字符串和元素。
<!DOCTYPE html> <html> <head> <title>Mixed Content</title> </head> <body> <div id="content"></div> <script> const content = document.getElementById('content'); const span = document.createElement('span'); span.textContent = 'span element'; content.append('Text before ', span, ' and text after'); </script> </body> </html>
在此示例中,我们将字符串文本和元素节点混合追加到一个 div 中。字符串会自动转换为文本节点。
这展示了 append()
在处理不同类型内容时的灵活性。该方法在生成的 DOM 中保持参数的顺序。
使用模板字面量追加
此示例展示了如何将 append() 与模板字面量结合使用以实现动态内容。
<!DOCTYPE html> <html> <head> <title>Template Literals</title> </head> <body> <div id="output"></div> <button onclick="addMessage()">Add Message</button> <script> function addMessage() { const output = document.getElementById('output'); const username = 'John'; const count = 3; output.append(`Hello ${username}! You have ${count} new messages.`); } </script> </body> </html>
在这里,我们使用带有变量的模板字面量来创建动态内容,该内容在单击按钮时被追加。字符串会自动转换。
这演示了 append()
如何与动态内容生成协同工作。模板字面量为创建复杂字符串提供了一种简洁的方式。
追加到文档片段
此示例演示了将 append() 与文档片段结合使用以提高性能。
<!DOCTYPE html> <html> <head> <title>Document Fragment</title> </head> <body> <div id="results"></div> <script> const fragment = document.createDocumentFragment(); const results = document.getElementById('results'); for (let i = 0; i < 5; i++) { const item = document.createElement('div'); item.textContent = `Item ${i + 1}`; fragment.append(item); } results.append(fragment); </script> </body> </html>
在这里,我们在文档片段中创建多个元素,然后再将它们追加到 DOM。这可以最大限度地减少重排并提高性能。
这展示了 append()
与文档片段的高级用法。在将多个元素高效地添加到 DOM 时,片段非常有用。
来源
在本文中,我们展示了如何在 JavaScript 中使用 append()
方法。此方法是现代 Web 开发中 DOM 操作和元素添加的基础。
作者
列出 所有 JS DOM 教程。