【前端每日基础】day24——DOM操作

DOM 操作

获取元素

要对网页中的元素进行操作,首先需要获取这些元素。常用的方法有:

document.getElementById(id): 获取具有指定id的元素。

document.getElementsByClassName(className): 获取具有指定类名的所有元素,返回HTMLCollection。

document.getElementsByTagName(tagName): 获取具有指定标签名的所有元素,返回HTMLCollection。

document.querySelector(selector): 获取匹配CSS选择器的第一个元素。

document.querySelectorAll(selector): 获取匹配CSS选择器的所有元素,返回NodeList。

javascript 复制代码
// 通过ID获取元素
let header = document.getElementById("header");

// 通过类名获取元素
let items = document.getElementsByClassName("item");

// 通过标签名获取元素
let paragraphs = document.getElementsByTagName("p");

// 通过CSS选择器获取元素
let firstItem = document.querySelector(".item");
let allItems = document.querySelectorAll(".item");

修改元素内容

可以使用innerHTML、textContent或innerText来修改元素的内容:

javascript 复制代码
let header = document.getElementById("header");

// 修改元素的HTML内容
header.innerHTML = "<h1>New Title</h1>";

// 修改元素的文本内容
header.textContent = "New Text";

// 修改元素的文本内容(不包括隐藏文本)
header.innerText = "New Visible Text";

修改元素属性

可以使用setAttribute和getAttribute来修改和获取元素的属性:

javascript 复制代码
let link = document.querySelector("a");

// 获取属性
let href = link.getAttribute("href");

// 设置属性
link.setAttribute("href", "https://new-url.com");

也可以直接通过属性来访问和修改:

javascript 复制代码
link.href = "https://new-url.com";

修改样式

可以通过style属性直接修改元素的样式:

javascript 复制代码
let header = document.getElementById("header");

// 修改样式
header.style.color = "blue";
header.style.fontSize = "2em";
header.style.backgroundColor = "lightgray";

或者通过添加、移除类来修改样式:

javascript 复制代码
let header = document.getElementById("header");

// 添加类
header.classList.add("highlight");

// 移除类
header.classList.remove("highlight");

// 切换类(如果存在则移除,如果不存在则添加)
header.classList.toggle("highlight");

创建和删除元素

可以使用createElement来创建新元素,使用appendChild、insertBefore等方法来插入元素,使用removeChild来删除元素:

javascript 复制代码
let newParagraph = document.createElement("p");
newParagraph.textContent = "This is a new paragraph.";

// 将新元素添加到现有元素中
document.body.appendChild(newParagraph);

// 删除元素
let oldParagraph = document.getElementById("oldParagraph");
document.body.removeChild(oldParagraph);
相关推荐
我叫Double15 分钟前
GeneralAdmin-3
前端·javascript·vue.js
Charlie_lll16 分钟前
学习Three.js–太阳系星球自转公转
前端·three.js
json{shen:"jing"}18 分钟前
10_自定义事件组件交互
开发语言·前端·javascript
Jinuss18 分钟前
源码分析之React中scheduleUpdateOnFiber调度更新解析
前端·javascript·react.js
一位搞嵌入式的 genius21 分钟前
深入理解 JavaScript 异步编程:从 Event Loop 到 Promise
开发语言·前端·javascript
m0_5649149223 分钟前
Altium Designer,AD如何修改原理图右下角图纸标题栏?如何自定义标题栏?自定义原理图模版的使用方法
java·服务器·前端
方安乐35 分钟前
react笔记之useCallback
前端·笔记·react.js
小二·1 小时前
Python Web 开发进阶实战:AI 伦理审计平台 —— 在 Flask + Vue 中构建算法偏见检测与公平性评估系统
前端·人工智能·python
走粥1 小时前
选项式API与组合式API的区别
开发语言·前端·javascript·vue.js·前端框架
We་ct1 小时前
LeetCode 12. 整数转罗马数字:从逐位实现到规则复用优化
前端·算法·leetcode·typescript