当前位置:首页 > JavaScript

js实现dom

2026-02-01 20:30:06JavaScript

实现DOM操作的方法

使用JavaScript操作DOM(文档对象模型)是前端开发的核心技能之一。以下是几种常见的DOM操作方法:

创建元素

const newElement = document.createElement('div');
newElement.textContent = '新创建的元素';
document.body.appendChild(newElement);

修改元素内容

const element = document.getElementById('target');
element.innerHTML = '<strong>修改后的内容</strong>';
element.textContent = '纯文本内容';

添加/删除类名

const box = document.querySelector('.box');
box.classList.add('active');
box.classList.remove('inactive');
box.classList.toggle('visible');

事件监听

js实现dom

const button = document.getElementById('myButton');
button.addEventListener('click', function() {
  alert('按钮被点击');
});

样式操作

const header = document.querySelector('header');
header.style.backgroundColor = '#333';
header.style.color = 'white';

高效DOM操作技巧

批量修改DOM时,使用文档片段(documentFragment)可以减少重绘和回流次数:

const fragment = document.createDocumentFragment();
for(let i = 0; i < 100; i++) {
  const item = document.createElement('li');
  item.textContent = `项目 ${i}`;
  fragment.appendChild(item);
}
document.getElementById('list').appendChild(fragment);

使用事件委托提高性能:

js实现dom

document.getElementById('parent').addEventListener('click', function(e) {
  if(e.target.classList.contains('child')) {
    console.log('子元素被点击');
  }
});

现代DOM API

使用insertAdjacentHTML快速插入HTML:

document.getElementById('container').insertAdjacentHTML(
  'beforeend',
  '<div class="new-item">新项目</div>'
);

使用matches方法检查元素是否匹配选择器:

if(element.matches('.active.highlight')) {
  // 元素同时有active和highlight类
}

使用closest查找最近的祖先元素:

const closestList = item.closest('ul');

这些方法涵盖了DOM操作的主要方面,从基础创建修改到性能优化技巧。实际开发中应根据具体场景选择最合适的方法。

标签: jsdom
分享给朋友:

相关文章

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue…

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获取 j…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整…