当前位置:首页 > JavaScript

js dom实现

2026-04-05 17:08:12JavaScript

DOM 基本概念

DOM(Document Object Model)是浏览器提供的编程接口,用于操作 HTML 和 XML 文档的结构。通过 DOM,可以动态修改页面内容、结构和样式。

获取 DOM 元素

通过 ID 获取元素:

const element = document.getElementById('elementId');

通过类名获取元素集合:

const elements = document.getElementsByClassName('className');

通过标签名获取元素集合:

const elements = document.getElementsByTagName('div');

通过 CSS 选择器获取元素:

const element = document.querySelector('#id .class');
const elements = document.querySelectorAll('.class');

修改 DOM 元素

修改元素内容:

element.textContent = '新文本内容';
element.innerHTML = '<strong>加粗文本</strong>';

修改元素属性:

element.setAttribute('data-custom', 'value');
const value = element.getAttribute('data-custom');
element.removeAttribute('data-custom');

修改元素样式:

element.style.color = 'red';
element.style.backgroundColor = '#f0f0f0';

创建和添加 DOM 元素

创建新元素:

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

添加元素到 DOM:

parentElement.appendChild(newElement);
parentElement.insertBefore(newElement, referenceElement);

事件处理

添加事件监听器:

element.addEventListener('click', function(event) {
  console.log('元素被点击');
});

移除事件监听器:

function handleClick() {
  console.log('点击事件');
}
element.addEventListener('click', handleClick);
element.removeEventListener('click', handleClick);

常用 DOM 操作

获取和设置表单值:

const inputValue = document.querySelector('input').value;
document.querySelector('input').value = '新值';

遍历子元素:

const children = parentElement.children;
for (let i = 0; i < children.length; i++) {
  console.log(children[i]);
}

性能优化建议

批量修改 DOM:

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

使用事件委托:

js dom实现

document.getElementById('parent').addEventListener('click', function(event) {
  if (event.target.matches('li')) {
    console.log('列表项被点击');
  }
});

标签: jsdom
分享给朋友:

相关文章

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现定位

js实现定位

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

vue虚拟dom实现

vue虚拟dom实现

Vue 虚拟 DOM 实现原理 Vue 的虚拟 DOM(Virtual DOM)是一种轻量级的 JavaScript 对象,用于描述真实 DOM 的结构。通过对比新旧虚拟 DOM 的差异,Vue 可以…

js 实现验证码

js 实现验证码

实现验证码的 JavaScript 方法 生成随机验证码 验证码通常由随机字符(数字、字母或混合)组成。以下代码生成一个 6 位随机验证码(数字和字母混合): function generateCa…