DOM基础
1.DOM全称Document Object Model 文档对象模型DOM节点的获取getElemtsByTagName(标签名)按标签拿元素返回类数组多个元素getElemtsByld(id):按id 拿元素直接返回单个元素id唯一querySelector(CSS选择器写CSS选择器只返回第一个匹配元素querySectorAll(CSS选择器写CSS选择器返回全部匹配元素集合。代码以及写法!DOCTYPE html html langen head meta charsetUTF-8 meta http-equivX-UA-Compatible contentIEedge meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDOM节点的获取/title /head body p classpp我是段落1/p p classpp我是段落2/p p classpp idp3我是段落3/p script // getElementsByTagName 通过标签名来获取元素节点 若有多个相同标签返回含有多个节点的类数组对象 const p1 document.getElementsByTagName(p); console.log(p1); console.log(p1[0]); console.log(p1[1]); // getElementsByClassName 通过class名来获取元素节点若有多个相同class返回含有多个节点的类数组对象 const p2 document.getElementsByClassName(pp); console.log(p2); console.log(p2[0]); console.log(p2[1]); console.log(p2[2]); // getElementById 通过id名来获取元素节点直接返回可操控的节点而不是由节点构成的数组对象 const p3 document.getElementById(p3); console.log(p3); // querySelector 通过CSS选择器获取节点返回第一个匹配上的节点 const p5 document.querySelector(.pp); console.log(p5); // querySelectorAll 通过CSS选择器获取节点返回NodeList对象包含所有匹配给定选择器的节点 const p4 document.querySelectorAll(.pp); console.log(p4); console.log(p4[0]); console.log(p4[1]); console.log(p4[2]); /script /body /html2.DOM节点属性修改获取修改标签自带属性,class类名直接修改元素自带属性元素.属性名值idsrc,classNameclassName:一次性覆盖全部class类会清空原有类.add():新加一个class.remove():删掉一个class,.contains():判断有没有这个class返回true/false代码以及写法!DOCTYPE html html langen head meta charsetUTF-8 meta http-equivX-UA-Compatible contentIEedge meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDOM节点的属性修改/title /head body p classpp我是段落1/p p classpp我是段落2/p p classpp idp3我是段落3/p p classpp xx yy idp4我是段落4/p img src./img_src/logo.png alt图片加载失败 idimg1 script // 【实验一. 查看元素节点的属性并修改属性】 // 1.根据id获取节点 const p3 document.getElementById(p3); console.log(p3); // 2.查看元素节点的属性 console.log(p3旧class属性值为 ${p3.className}); console.log(p3旧id属性值为 ${p3.id}); // 3.修改节点的class属性 p3.className pp jj yy xx; console.log(p3新class属性值为 ${p3.className}); // 4.修改节点的id属性 p3.id _p_3; console.log(p3新id属性值为 ${p3.id}); // 【实验二. classList对象的操作】 // 根据id获取节点 const p4 document.getElementById(p4); console.log(p4.classList); console.log(p4.classList[0]); // 为classList添加一个新的class名 p4.classList.add(zz); console.log(p4.classList); // 为classList移除一个class名 p4.classList.remove(xx); console.log(p4.classList); // 检查classList中是否存在某个class名返回布尔值。 console.log(p4.classList.contains(jj)); // 不存在返回false console.log(p4.classList.contains(zz)); // 存在返回true // 【实验三. 其他属性的查看与修改以img标签为例】 const im document.getElementById(img1); console.log(修改前: im.src); // 修改src属性即修改资源路径因此渲染出来的图片会改变 im.src ./img_src/logo1.png; console.log(修改后: im.src); /script /body /html3.DOM节点创建插入删除document.creatElement标签创建空标签document.creatTextnNode(文字创建文字内容元素.appendChild(字节点把子节点放到父元素最后面父元素.removeChild(要删的节点从页面删掉指定标签代码!DOCTYPE html html langen head meta charsetUTF-8 meta http-equivX-UA-Compatible contentIEedge meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDOM节点的创建与插入/title /head body !-- 下面是随便写的一堆html元素节点 -- p classpp我是段落2/p p classpp idp3我是段落3/p p classpp jj yy xx idp4我是段落4/p script // 【第1步. 创建节点】 // 1.1 创建一个p元素节点 var ele document.createElement(p); // 1.2 创建一个文本节点 var txt document.createTextNode(我是用Javascript创建的新节点); console.log(txt); // 1.3 创建一个属性节点并为其赋值 var attr document.createAttribute(class); // 创建属性节点 attr.value hello world; // 为属性节点赋值 console.log(attr); // 【第2步. 插入节点】 // 2.1 将文本节点作为子节点加入新建的p元素节点下面 ele.appendChild(txt); // 2.2 将属性节点插入新建的p元素节点 ele.setAttributeNode(attr); // 2.3 将已经配置完毕的p元素节点以子节点的身份插入其上一层的body元素节点中 const body_node document.getElementsByTagName(body)[0]; body_node.appendChild(ele); // 【第3步.删除节点】 // 3.1 获取要删除的节点 const p3 document.getElementById(p3); // 3.2 删除节点 body_node.removeChild(p3); /script /body /html4.练习代码!DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 title课堂练习节点的相关操作/title /head body hr colorred width500 idhr1 hr colorgreen width500 idhr2 script // 1. 将idhr1的水平线改成黑色 let hr1 document.getElementById(hr1); hr1.color black; // 2. 删除idhr2的水平线 let hr2 document.getElementById(hr2); document.body.removeChild(hr2); // 3. 创建新hrhr colorblue width250 idhr3 let newHr document.createElement(hr); newHr.color blue; newHr.width 250; newHr.id hr3; // 把新水平线插入页面body中 document.body.appendChild(newHr); /script /body /html

相关新闻

Spring Boot AOP 异步执行机制讲解

Spring Boot AOP 异步执行机制讲解

Spring Boot AOP 异步执行机制讲解 在现代应用开发中,提升系统性能与响应速度是关键需求。Spring Boot结合AOP(面向切面编程)与异步执行机制,为开发者提供了一种高效处理耗时任务的解决方案。本文将深入讲解Spring Boot中AOP与异…

2026/6/24 1:32:46阅读更多 →
深度学习推荐系统

深度学习推荐系统

深度学习推荐系统:智能时代的个性化引擎 在信息爆炸的今天,推荐系统已成为连接用户与内容的关键桥梁。传统推荐算法依赖协同过滤或内容匹配,但面对海量数据和复杂用户行为时,往往捉襟见肘。深度学习推荐系统通过神经网络强大的特…

2026/6/24 1:32:46阅读更多 →
软件投资决策中的财务分析模型

软件投资决策中的财务分析模型

软件投资决策中的财务分析模型:关键工具与实战应用 在数字化转型的浪潮中,企业如何科学评估软件投资的财务可行性成为关键问题。财务分析模型通过量化收益与成本,帮助决策者规避风险、优化资源配置。无论是采购商用软件还是自主研发&#xf…

2026/6/24 1:32:46阅读更多 →
Harness 教程 08:日志查看与故障排查:Execution History、Step Log、Delegate 日志与 Kubernetes 事件定位:国内网络环境落地版

Harness 教程 08:日志查看与故障排查:Execution History、Step Log、Delegate 日志与 Kubernetes 事件定位:国内网络环境落地版

一:教程定位在前 7 篇教程中,我们已经完成了 Harness 平台环境搭建、CI/CD 流水线、代码触发、测试与制品管理、Kubernetes 部署、变量参数化,以及审批和定时触发。从第 8 篇开始,我们重点解决一个初学者最容易遇到的问题&#xf…

2026/6/24 2:37:50阅读更多 →
Home Assistant Powercalc查找表策略:终极能耗监测解决方案

Home Assistant Powercalc查找表策略:终极能耗监测解决方案

Home Assistant Powercalc查找表策略:终极能耗监测解决方案 【免费下载链接】homeassistant-powercalc Home Assistant Custom component to calculate estimated power consumption of lights and other appliances 项目地址: https://gitcode.com/GitHub_Trendi…

2026/6/24 2:37:50阅读更多 →
2026年,APP依然是用户离不开的使用工具——而ASO,决定了它能否被看见

2026年,APP依然是用户离不开的使用工具——而ASO,决定了它能否被看见

01 一个被忽视的真相:APP最后的战场,在搜索框里如今的移动互联网,早已不是2012年那个“只要上架就有用户”的蛮荒时代。据行业数据统计,超过70%的APP下载量来自于应用商店的搜索。也就是说,10个用户下载APP&#xff0c…

2026/6/24 2:37:50阅读更多 →
Penpot开源设计工具:从零开始的完整入门指南

Penpot开源设计工具:从零开始的完整入门指南

Penpot开源设计工具:从零开始的完整入门指南 【免费下载链接】penpot Penpot: The open-source design tool for design and code collaboration 项目地址: https://gitcode.com/GitHub_Trending/pe/penpot 你是否厌倦了付费设计软件的订阅模式?是…

2026/6/24 2:37:50阅读更多 →
AI驱动防伪溯源的技术演进与行业应用

AI驱动防伪溯源的技术演进与行业应用

当生成式AI降低了伪造门槛,防伪技术正从“物理屏障”转向“算法验证”的新阶段。 引言:信任危机的技术根源 2025年以来,多起利用AI生成虚假商品评测视频、伪造产品缺陷图片的案例引发关注。这些内容不仅误导消费者决策,也对品牌声…

2026/6/24 2:37:50阅读更多 →
如何用last30days-skill在30秒内完成全网信息调研:AI驱动的市场洞察工具完全指南

如何用last30days-skill在30秒内完成全网信息调研:AI驱动的市场洞察工具完全指南

如何用last30days-skill在30秒内完成全网信息调研:AI驱动的市场洞察工具完全指南 【免费下载链接】last30days-skill AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary …

2026/6/24 2:32:49阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/23 7:04:52阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/24 2:12:09阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/23 5:55:37阅读更多 →
TaskJuggler脚本编程入门:用代码实现自动化项目管理

TaskJuggler脚本编程入门:用代码实现自动化项目管理

TaskJuggler脚本编程入门:用代码实现自动化项目管理 【免费下载链接】TaskJuggler TaskJuggler - Project Management beyond Gantt chart drawing 项目地址: https://gitcode.com/gh_mirrors/ta/TaskJuggler TaskJuggler是一款强大的开源项目管理工具&#…

2026/6/24 0:02:41阅读更多 →
终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果 【免费下载链接】angular-mobile-nav An angular navigation service for mobile applications 项目地址: https://gitcode.com/gh_mirrors/an/angular-mobile-nav angular-mobile-nav是一款专为…

2026/6/24 0:02:41阅读更多 →
Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作 【免费下载链接】Wan2.1-Fun-V1.1-1.3B-InP 项目地址: https://ai.gitcode.com/hf_mirrors/PAI/Wan2.1-Fun-V1.1-1.3B-InP Wan2.1-Fun-V1.1-1.3B-InP是一款强大的AI视频创作工具,…

2026/6/24 0:02:41阅读更多 →