当前位置:首页 > JavaScript

js dom实现

2026-03-13 22:55:39JavaScript

使用 JavaScript 操作 DOM

JavaScript 提供了丰富的 API 来操作文档对象模型(DOM),允许动态修改网页内容和结构。

获取 DOM 元素

通过选择器获取元素是最常见的操作:

// 通过 ID 获取
const elementById = document.getElementById('myId');

// 通过类名获取(返回 HTMLCollection)
const elementsByClass = document.getElementsByClassName('myClass');

// 通过标签名获取(返回 HTMLCollection)
const elementsByTag = document.getElementsByTagName('div');

// 通过 CSS 选择器获取单个元素
const element = document.querySelector('.myClass');

// 通过 CSS 选择器获取多个元素(返回 NodeList)
const elements = document.querySelectorAll('.myClass');

修改元素内容

可以修改元素的文本内容或 HTML:

// 修改文本内容
element.textContent = '新的文本内容';

// 修改 HTML 内容
element.innerHTML = '<strong>加粗文本</strong>';

修改元素属性

可以获取或设置元素的属性:

js dom实现

// 获取属性
const src = imageElement.getAttribute('src');

// 设置属性
element.setAttribute('data-custom', 'value');

// 直接访问属性
element.id = 'newId';
element.className = 'newClass';
element.classList.add('additionalClass');

创建和添加元素

可以动态创建新元素并添加到 DOM 中:

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

// 添加到父元素末尾
parentElement.appendChild(newElement);

// 插入到特定位置
parentElement.insertBefore(newElement, referenceElement);

// 替换元素
parentElement.replaceChild(newElement, oldElement);

删除元素

可以从 DOM 中移除元素:

js dom实现

// 移除子元素
parentElement.removeChild(childElement);

// 现代方法(直接移除自身)
element.remove();

事件处理

可以为元素添加事件监听器:

// 添加点击事件
buttonElement.addEventListener('click', function(event) {
    console.log('按钮被点击');
});

// 移除事件
const handler = function() { /* ... */ };
element.addEventListener('click', handler);
element.removeEventListener('click', handler);

样式操作

可以直接修改元素的样式:

// 修改单个样式属性
element.style.color = 'red';
element.style.backgroundColor = '#fff';

// 批量修改样式
element.style.cssText = 'color: red; background-color: white;';

// 获取计算样式
const computedStyle = window.getComputedStyle(element);
const color = computedStyle.getPropertyValue('color');

遍历 DOM

可以遍历 DOM 树的各个部分:

// 获取父元素
const parent = element.parentNode;

// 获取子元素
const firstChild = element.firstChild;
const children = element.children;

// 获取兄弟元素
const nextSibling = element.nextSibling;
const previousSibling = element.previousSibling;

这些方法提供了强大的能力来动态操作网页内容和结构,使网页能够响应用户交互和数据变化。

标签: jsdom
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含inpu…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…