【前端每日基础】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);
相关推荐
Mintopia12 分钟前
多模态 AIGC 在 Web 内容创作中的技术融合实践:把“创作引擎”装进浏览器
前端·javascript·aigc
鹏多多.16 分钟前
flutter-使用fluttertoast制作丰富的高颜值toast
android·前端·flutter·ios
Mintopia26 分钟前
Next.js 的 Web Vitals 监测与 Lighthouse 分析:从底层到实战的快乐科学
前端·javascript·next.js
charlie11451419133 分钟前
前端三件套简单学习:HTML篇1
开发语言·前端·学习·html
很多石头34 分钟前
前端img与background-image渲染图片对H5页面性能的影响
前端·css
yenggd34 分钟前
3种XSS攻击简单案例
前端·xss
盖头盖35 分钟前
【xss基本介绍】
前端·xss
一枚前端小能手43 分钟前
「周更第2期」实用JS库推荐:Rsbuild
前端·javascript
小桥风满袖43 分钟前
极简三分钟ES6 - 正则表达式的扩展
前端·javascript
柯南二号1 小时前
【大前端】React 使用 Redux 实现组件通信的 Demo 示例
前端·javascript·react.js