JavaScript复习之文档对象模型

JavaScript 复习笔记(巩固学习JavaScript一篇就够)JavaScript基础快速入门 Javascript复习笔记 最近找了一些教程重新学习(复习) JavaScript,顺道将学习内容整理成笔记,巩固所学知识,同时也参考一些博客,书籍上的内容,查漏补缺,给自己充充电???????? 工欲善其事,必先利其器,为了提高开发效率,前端开发首选:VSCode(Visual Studio Code)。 初识JavaScript **「创始人」**布兰登·艾奇(Brendan Eich),起初命名为LiveScript后来Sun公司收购并改名为JavaScript。 **「JavaScript」* 阅读详情

JavaScript 操作文档对象模型 (DOM)

基本概念

DOM 是 JavaScript 操作网页的接口,全称为文档对象模型(Document Object Model)。 它的作用是将网页转为一个 JavaScript 对象,从而可以用脚本对树形文档进行各种操作。

节点

  • DOM 的最小组成单位叫做节点 (node)。文档的树形结构(DOM树),就是由各种不同类型的节点组成。
  • 最顶层的节点是 document 节点,它代表了整个文档、是文档的根节点。
  • 每张网页都有自己的 document 节点,window.document 指向这个节点。
  • 文档里面最高一层一般是HTML标签,其他HTML标签节点都是它的下级。

除了根节点以外,其他节点对于周围的节点都存在三种关系:

  1. 父节点关系 (parentNode),直接的那个上级节点;
  2. 子节点关系 (childNodes),直接的下级节点;
  3. 同级节点关系 (sibling),拥有同一个父节点的节点;

查找节点

要具体找到某个节点,可以使用 document 提供的一系列方法。

getElementsByTagName()

  • 参数是标签名;返回所有指定 HTML 标签的元素。
var p = document.getElementsByTagName('p');
p[3].style.background = 'red';

getElementsByClassName()

  • 参数为标签的 class 属性的值返回所有 class 名字符合指定条件的元素。
var p = document.getElementsByClassName('p');
p[1].style.background = 'yellow';

getElementsByName()

  • 参数为标签的 name 属性的值;选择拥有 name 属性的 HTML 元素。
var p = document.getElementsByName('p');
p[0].style.background = 'yellow';

getElementById()

  • 参数为标签的id属性的值,参数大小写敏感;返回匹配指定id属性的元素节点;没有发现匹配的节点,返回null。
var p = document.getElementById('p');
p.style.background = 'yellow';

querySelector()

  • document.querySelector 方法接受一个CSS选择器作为参数;
  • 如果有多个节点满足匹配条件,则返回第一个匹配的节点;
  • 如果没有发现匹配的节点,则返回null;
var p = document.querySelector('.p');
p.style.background = 'yellow';

querySelectorAll()

  • document.querySelectorAll 方法与 querySelector 用法类似,
  • 区别是返回一个类似数组的 HTMLCollection 对象,包含所有匹配给定选择器的节点。
  • 多个参数值,使用(英文逗号,)隔开;
var p = document.querySelectorAll('i,.p');
for(var i = 0; i < p.length; i++){
    p[i].style.background = 'yellow';
}

//选中 id 属性值为p1的元素
var p = document.querySelectorAll('[id="p1"]');
//选中div元素的class属相值为p的元素
var p = document.querySelectorAll('div.p');
//选中所有的p标签,但是class值为p的除外
var p = document.querySelectorAll('p:not(.p)');
for(var i=0;i<p.length;i++){
    p[i].style.background = 'yellow';
}

querySelector 不支持CSS伪元素选择器(如 :first-line 和 :first-letter)和伪类选择器(如 :link和 :visited),即无法选中伪元素和伪类。

案例

循环批量事件
<body>
    <input type="button" value="起床了" > <br>
    <input type="button" value="起床了" > <br>
    <input type="button" value="起床了" > <br>
    <input type="button" value="起床了" > <br>
    <input type="button" value="起床了" > <br>
    <input type="button" value="起床了" > <br>

</body>
<script>
    var inps = document.querySelectorAll('input');
    for(var k in inps){
        inps[k].onclick = function(){
            if(this.value == '起床了'){
                for(var i=0;i<inps.length;i++){
                    inps[i].value = '睡觉了';
                }
                this.value = '起床了';
            }else{
                for(var i=0;i<inps.length;i++){
                    inps[i].value = '起床了';
                }
                this.value = '睡觉了';
            }
        }
    }

</script>
点击按钮设置随机背景颜色
<body>
    <div style="width: 100px; height: 100px; border: 1px solid red"></div>    
</body>
<script>
    document.getElementsByTagName('div')[0].onclick = function(){
        this.style.width = parseInt(this.style.width) + 10 + 'px';
        this.style.height = parseInt(this.style.height) + 10 + 'px';
        var rgb = Math.floor(Math.random()*(256 - 0) + 0) + ',';
        rgb += Math.floor(Math.random()*(256 - 0) + 0) + ',';
        rgb += Math.floor(Math.random()*(256 - 0) + 0);
        this.style.background = 'rgb('+  rgb +')';
    }
</script>
精通JavaScript(文档对象模型和事件驱动——window对象) 为了能够操纵浏览器和文档,JavaScript使用分层的父对象和子对象,这就是“文档对象模型”。这些对象的组织类似一个树型结构,并表示一个Web文档的所有内容和组件。 注意:”文档对象模型”不是JavaScript语言的一部分,而是内置在浏览器中的一个应用程序接口(API),”文档对象模型”不但在Javascript中经常用到,在其他的脚本语言也经常用到。 立即下载

相关推荐

具身智能:从理论突破到场景落地的全解析

具身智能(Embodied Intelligence)是人工智能与机器人学深度融合的前沿领域,其核心在于通过物理实体与环境的动态交互实现智能行为。区别于传统 AI 的 “离身性”(如语音助手仅依赖数据输入),具身智能强调 “智能体通过身体感知世界并反作用于环境”,形成 “感知 - 决策 - 行动” 的闭环。例如,能自主避障的配送机器人、可精准抓取异形物体的机械臂,均通过传感器网络与环境实时互动,在试错中优化行为策略。

LeeKumaの技术Note 2683

【JavaScript】Document Object Model 文档对象模型

DOM 全称是 Document Object Model 文档对象模型。大白话,就是把文档中的标签,属性,文本,转换成为对象来管理。Document 对象的理解:第一点:Document 它管理了所有的 HTML文档内容。第二点:Document 它是一种树结构的文档。有层级关系。第三点:它让我们把所有的标签都对象化。第四点:我们可以通过 Document访问所有的标签对象。注意:document 对象的三个查询方法,如果有 id 属性,优先使用getElementById 方法来进行查询。如果没有...

YOU__FEI的博客 2762

Hi3516CV610开发板实战:从零搭建智能视觉监控系统

本文详细介绍了从零开始基于Hi3516CV610开发板搭建智能视觉监控系统的完整实战流程。涵盖硬件连接、系统配置、摄像头集成、网络设置、固件烧录到视频处理与智能分析功能开发,提供了丰富的实践经验和调试技巧,帮助开发者快速掌握嵌入式视觉系统开发。

vvv99的博客 565

【JavaScript】之文档对象模型(DOM)详解

JavaScript 的强大之处在于它能够与 HTML 和 CSS 交互,动态地修改网页内容和样式。而实现这一功能的核心就是DOM(文档对象模型)。本文将深入探讨 JavaScript DOM,帮助你理解其工作原理并掌握其使用方法,每个方法都配有示例以便于理解。

weixin_64178283的博客 1682

残差检验_第三十讲 R语言-Cox比例风险模型的假设检验条件

在介绍完 Cox比例风险模型的详细理论和R实现以后(插入链接!!!),我们已经知道Cox比例风险模型可以较好的同时矫正多个混杂因素对结果的影响,同时我们遗留下来了一个问题:Cox比例风险模型的假设检验条件是什么?这一讲,我们将对此进行解答。请注意,如果使用不当,统计模型可能会产生误导性的结论。因此,检查给定的模型是否适合数据类型是非常重要的!1. Cox比例风险模型的假设条件Cox比例风险模型的成...

weixin_35476698的博客 8048

CircuitBreaker Resilience4J 介绍

在分布式环境中,我们的应用可能会面临着各种各样的可恢复的异常(比如超时,网络环境异常),此时我们可以利用不断重试的方式来从异常中恢复(Retry Pattern),使整个集群正常运行。然而,也有一些异常比较顽固,突然发生,无法预测,而且很难恢复,并且还会导致级联失败(举个例子,假设一个服务集群的负载非常高,如果这时候集群的一部分挂掉了,还占了很大一部分资源,整个集群都有可能遭殃)。如果我们这时还是不断进行重试的话,结果大多都是失败的。

zzhongcy的专栏 3542

JavaScript——文档对象模型(DOM)

介绍JavaScript中DOM......

WXS153322的博客 600

机器学习——径向基函数(RBF)神经网络

目录 一、什么是基函数 二、什么是径向基函数 三、为什么RBF神经网络使用一个径向基函数作为隐含层的激活函数 四、参数训练 五、RBF网络vs BP网络和 SVM 一、什么是基函数 著名的傅里叶变换是指:n个有参(权值)的正、余弦三角函数基的和式可以等价的表示任意一个周期函数,这里的“基”和我们数学中说的坐标基或向量基含义相同,即坐标空间中任意一个向量都可以用基向量的线性和表示出来。 因此,我们引入函数空间的概念,函数空间中的每个连续函数可以表示为基函数的线性组合,就像向量空间中的每..

CHWB2580的博客 6272

js文档对象模型

六、JavaScript HTML DOM集合(Collection)和JavaScript HTML DOM节点列表(NodeList)HTML DOM (文档对象模型):当网页被加载时,浏览器会创建页面的文档对象模型(Document Object。第一个参数是事件的类型 (如 “click” 或 “mousedown”).在捕获中,外部元素的事件会先被触发,然后才会触发内部元素的事件。五、JavaScript HTML DOM 元素 (节点)在冒泡中,内部元素的事件会先被触发,然后再触发外部元素。

2402_84987408的博客 1713

基于YOLO的印章检测及文字识别

针对印章自动化检测与文字识别需求,提出了一种融合改进YOLO模型与OCR技术的端到端解决方案,旨在解决复杂背景干扰、印章残缺变形及环形文字排列等难题

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 8224

从零构建简历智能匹配系统:AI技术助力高效招聘

本文详细介绍了简历智能匹配系统的开发过程,从数据收集、预处理、特征提取到模型匹配和结果展示,每一步都提供了详细的代码实例。通过使用TF-IDF、Word2Vec和BERT等技术,我们能够有效地将求职者的简历与职位描述进行匹配,从而提高招聘效率。未来,随着自然语言处理技术的进一步发展,简历智能匹配系统将变得更加智能和高效,为企业和求职者提供更好的服务。

理论都是虚的,代码才是王道。 310

JavaScript核心知识第一章---DOM 文档对象模型(含大量案例分析)

如果有同一组元素,我们想要某一个元素实现某种样式, 需要用到循环的排他思想算法:所有元素全部清除样式(干掉其他人);给当前元素设置样式 (留下我自己);注意顺序不能颠倒,首先干掉其他人,再设置自己;代码演示如下:按钮1按钮2按钮3按钮4按钮51️⃣ 获取属性值element.属性:获取属性值。element.getAttribute('属性');element.属性:获取内置属性值(元素本身自带的属性);element.getAttribute(‘属性’);

2301_82244509的博客 828

管好 SAP Fiori Launchpad Content:技术目录、业务目录与 KPI 工具的完整治理思路

SAP Fiori Launchpad 作为企业级统一入口,需通过技术目录(源对象)和业务目录(引用编排)分层治理。技术目录由 Launchpad App Manager 维护,负责应用描述对象(Tile 和 Target Mapping)的创建与管理;业务目录由 Launchpad Content Manager 编排,通过引用技术目录对象实现灵活配置。分析型内容则通过 F2814 统一管理。这种分层设计支持应用复用,便于升级维护,是 SAP S/4HANA 项目中实现高效内容治理的关键。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 133

js 文档对象模型(复习)

1.节点Element 元素Attribute 属性Text   文本Comment  注释Document  文档DocumentType 文档类型2.对象属性nodeName:当前节点姓名nodeValue:当前节点的值nodeType:当前节点的类型attributes:当前节点(属性)列表3.对象方法getElementById(id) getElementByName(name)getE...

qq_39587328的博客 686

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JavaWeb复习-02JavaScript

DOCTYPE html > < html lang = " en " > < head > < meta charset = " UTF-8 " > < meta name = " viewport " content = " width=device-width, initial-scale=1.0 " > < title > Document </ title > </ head > < body > < script > //自定义对象 var user = {alert("用膳~");

weixin_74143480的博客 1127

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

JavaScript复习之事件,BOM,DOM

JavaScript复习之事件,BOM,DOM 事件 事件使用方式(重点) 基础描述 案例 常用事件 基础介绍 案例演示 单击事件(重点) 鼠标移入移出事件 焦点事件 内容改变事件(重点) 页面或图像

qq_45464872的博客 161

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

第六周学习内容总结(爬虫复习,js基础)

第六周学习内容总结(爬虫复习,js基础) 使用第三方服务进行验证码自动识别 使用超级鹰进行验证码识别自动登录b站,并且获取当日排行榜前一百 import io import time import xlwt from PIL import Image from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.support.wait import WebDrive

weixin_43602233的博客 228

javascript初步入门

本周在专业方向的学习主要是学习了JavaScript的基本语法规则,结合之前所学习的的HTML与css,我认为这门语言是管理等级高于前两者的。HTML是一种对所要操纵的元素建立标记的语言,css是对其排版样式与实现形式作出规范的语言,而js可以说是一种可以对前两者进行控制的语言,可以修改两者的内容或属性。js既可以实现内部嵌入,也可以外部引用。在语法规则上其基本与c语言近似,但在函数及操作对象上却...

qq_43523398的博客 184

javascript期末复习题

一、单项选择题 1、HTML表格标签是( B ) A、<form> B、<table> C、<img> D、<select> 2、HTML表格中的行标签是( B ) A 、<a> B、<tr> C、&lt...

qq_41827511的博客 8426

文档对象模型 (DOM)

文档对象模型DOM)是 web 上构成文档结构和内容的对象的数据表示。本指南将介绍 DOM,研究 DOM 如何在内存中表示HTML文档以及如何使用 API 来创建 web 内容和应用程序。什么是 DOM?文档对象模型(DOM)是一个网络文档的编程接口。它代表页面,以便程序可以改变文档的结构、风格和内容。DOM 将文档表示为节点和对象;这样,编程语言就可以与页面交互。网页是一个既可以在浏览器窗口中显示,也可以作为 HTML 源代码的文档。

doiido的专栏 273

九张思维导图学习JavaScript

来自:ChokCoco - 博客园http://www.cnblogs.com/coco1s/p/3953653.html后台回复:js 获得本文的图片压缩包。学习的道路就是要不断的总...

程序IT圈 89

## javaScript 自己学习做的笔记(可以用来复习)

javaScript 自己学习做的笔记(可以用来复习)

live_55368的博客 2154

javascript以及vue.js复习

htmlDOM(文档对象模型):当浏览器网页加载时,浏览器会创建页面的文档对象模型(Document Object Model),用来将标记性文档封装成对象,并将标记性文档中的所有内容(标签、文本、属性等)都封装成对象,封装成对象的目的是为了更方便的操作这些文档以及文档中的所有内容。在html中,按照从上到下,从左到右,在执行过程中遇到script时,浏览器停止HTML解析并开始执行JavaScript代码,如果script的内容引用了后面的内容,他将不会显示相关内容。变量在函数外定义,即为全局变量。

weixin_59218884的博客 929

JavaScript复习,温故知新,查漏补缺

JavaScript复习,好像更懂了。    仔细想想,学习JavaScript这门语言已经是一年好几个月前的事情了,作为Java程序员必备的一门基础语言,虽然简单易懂,但是如果不回去再看一遍的话真真会觉得有时候头脑用不上了。再加上自己平时用的并不是很多(可能以后会变多),所以这阵子就对整个JavaScript再复习一遍,好加深记忆、顺便查漏补缺。 1. 发展历史    要了解一门语言就必须先了...

王大明XS的博客 475

javascript总复习

第一章、Javascript简介 JavaScript 是一种基于对象和事件驱动并具有安全性能的脚本语言。 一种计算机客户端脚本语言,主要在 Web 浏览器解释执行。 (不需要进行编译) 特点 : 动态类型,弱类型,简单性,跨平台性,必要性,兼容性差, JavaScript 优缺点和用法 是一种解释性脚本语言(代码不进行预编译)。 主要用来向 HTML 页面添加交互行为。 可以直接嵌入 HTML 页面,但写成单独的 js 文件有利于结构和行为的分离。 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下

cywwen的博客 1915

前端_Javascript复习

let,const控制台输出:console.log// 定义变量使用let let a = 10;console.log(a) // const是常量const b = 10 // b++ 报异常// 函数return a+b;

ysy1648067239的博客 866
上一篇: PHP基础之面向对象
下一篇: VSCode 中常用的 PHP 编程插件
HansMa
博客等级 码龄12年 24粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值