当前位置: 首页 > article >正文

原生 JS 操作 DOM 元素

一、查找 DOM 元素

1. 使用`getElementById`

通过元素的`id`属性来查找单个元素。

示例:

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

2. 使用`getElementsByTagName`

根据标签名查找一组元素,返回一个 HTMLCollection。

示例:

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

3. 使用`getElementsByClassName`

根据类名查找一组元素,返回一个 HTMLCollection。

示例:

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

4. 使用`querySelector`和`querySelectorAll`

`querySelector`返回匹配指定选择器的第一个元素。

`querySelectorAll`返回匹配指定选择器的所有元素,是一个 NodeList。

示例:

const element = document.querySelector('.myClass');` `const elements = document.querySelectorAll('div.myClass');

二、修改 DOM 元素的内容和属性

1. 修改文本内容

使用`textContent`属性设置或获取元素的文本内容。

示例:

element.textContent = 'New text';

2. 修改 HTML 内容

使用`innerHTML`属性设置或获取元素的 HTML 内容。

示例:

element.innerHTML = '<p>New HTML</p>';

3. 修改属性

使用`setAttribute`方法设置属性值。

使用`getAttribute`方法获取属性值。

示例:

element.setAttribute('class', 'newClass');
const value = element.getAttribute('data-id');

三、创建和添加 DOM 元素

1. 创建新元素

使用`document.createElement`方法创建新的元素。

示例:

const newElement = document.createElement('div');

2. 添加子元素

使用`appendChild`方法将一个新元素添加到父元素的子节点列表末尾。

示例:

parentElement.appendChild(newElement);

3. 插入元素

使用`insertBefore`方法在指定的现有子节点之前插入一个新元素。

示例:

parentElement.insertBefore(newElement, existingElement);

四、删除 DOM 元素

1. 使用`removeChild`方法从父元素中删除一个子元素。

示例:

parentElement.removeChild(childElement);

五、操作 DOM 元素的样式

1. 使用`style`属性修改元素的内联样式。

示例:

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

2. 使用`classList`操作元素的类名。

`addClass`方法添加类名。

`removeClass`方法移除类名。

`toggleClass`方法切换类名。

示例:

element.classList.add('newClass');
element.classList.remove('oldClass');
element.classList.toggle('activeClass');


http://www.kler.cn/news/331347.html

相关文章:

  • 图的最短路径算法Floyed
  • 浅谈PyTorch中的DP和DDP
  • 2024年中国科技核心期刊目录(社会科学卷)
  • tailwindcss快速入门(上篇)
  • Web安全 - 构建全面的业务安全保护防御体系
  • 深度学习数据增强的常用方法
  • 滚雪球学Oracle[4.6讲]:存储过程与函数
  • 短视频矩阵系统源码开发/矩阵系统OEM搭建--源代码开发经验分享
  • NVIDIA G-Assist 项目:您的游戏和应用程序AI助手
  • 树莓派 AI 摄像头(Raspberry Pi AI Camera)教程
  • 计网问答大题(期末复习)
  • [C++][第三方库][etcd]详细讲解
  • vue3项目el-table表格行内编辑加输入框校验
  • RabbitMQ 消息队列:生产者与消费者实现详解
  • Linux文件重定向文件缓冲区
  • 【漏洞复现】大华智慧园区综合管理平台 video 任意文件上传漏洞
  • 【rCore OS 开源操作系统】Rust mod模块和static生命周期 知识点及练习题
  • LeetCode hot100---哈希表专题(C++语言)
  • 【ecology】独立选择框\公共选择框表
  • C#的面向对象