当前位置:首页 > JavaScript

js实现追加

2026-03-14 15:06:42JavaScript

使用 innerHTML 追加内容

通过修改元素的 innerHTML 属性可以直接追加 HTML 内容。

const element = document.getElementById('target');
element.innerHTML += '<p>追加的内容</p>';

注意:此方法会重新解析整个 HTML 结构,可能影响性能或事件绑定。

使用 insertAdjacentHTML 追加内容

insertAdjacentHTML 允许在指定位置插入 HTML,性能优于 innerHTML

js实现追加

const element = document.getElementById('target');
element.insertAdjacentHTML('beforeend', '<p>追加的内容</p>');

可选位置参数:

  • beforebegin:元素前插入
  • afterbegin:元素内部开头插入
  • beforeend:元素内部末尾插入(常用)
  • afterend:元素后插入

使用 appendChild 追加 DOM 节点

适用于动态创建节点并追加到 DOM 中。

js实现追加

const parent = document.getElementById('target');
const newElement = document.createElement('p');
newElement.textContent = '追加的内容';
parent.appendChild(newElement);

使用 append 方法(现代浏览器)

append 支持同时追加多个节点或字符串。

const parent = document.getElementById('target');
parent.append('文本内容', document.createElement('span'));

使用 DocumentFragment 优化批量追加

通过文档片段减少 DOM 操作次数,提升性能。

const parent = document.getElementById('target');
const fragment = document.createDocumentFragment();
for (let i = 0; i < 10; i++) {
  const p = document.createElement('p');
  p.textContent = `段落 ${i}`;
  fragment.appendChild(p);
}
parent.appendChild(fragment);

注意事项

  • 直接操作 HTML(如 innerHTML)可能引发 XSS 风险,需对内容转义。
  • 频繁 DOM 操作建议使用 DocumentFragment 或批量处理。
  • 现代框架(如 React/Vue)通常提供更高效的数据驱动更新机制。

标签: js
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https://…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let currentY…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…

js 实现拖拽

js 实现拖拽

实现拖拽的基本步骤 在JavaScript中实现拖拽功能需要监听几个关键事件:mousedown、mousemove和mouseup。以下是实现的基本逻辑。 监听目标元素的mousedown事件,记…

js 实现按钮点击

js 实现按钮点击

实现按钮点击的 JavaScript 方法 HTML 按钮元素 在 HTML 中创建一个按钮,可以通过 <button> 或 <input> 标签实现: <button…

js实现刷新

js实现刷新

刷新当前页面 使用 location.reload() 方法可以强制刷新当前页面。该方法接受一个布尔参数,默认为 false,表示从缓存中加载页面;设为 true 时强制从服务器重新加载。 // 从…