DOM简单梳理

关于JS DOM中侦听事件获取的各种坐标简单梳理 简单梳理一下DOM中的各种宽、高。首先我们给全局DOM加一个鼠标点击监听事件,用于监听我们要观察的宽高,代码如下: window.addEventListener("mousedown",demo); function demo(e){ e=e || window.event; console.log("我们观察的宽高值"); } 1.e.x ... 阅读详情

定义:DOM:Document Object Model。
是针对HTML,XML文档的一个API(应用程序编程接口),它将任何HTML,XML文档描绘成一个由多层节点(node)构成的结构。
节点有多种类型,每种类型表示文档中不同的信息及标记,每个节点也拥有各自的特点、数据和方法,然后各节点之间也存在某种关系。
想象成一个树状图


一、Node节点爸爸

一共有12种节点,这些节点都继承自一个基类型Node。
1.基本属性方法:
nodeName
nodeValue
nodeType
childNodes:一个保存子元素的Nodelist
parentNodes
nextSibling - previousSibling
2.操作节点方法
appendChild()
insertBefore(node1,node2)
replaceChild(node1,node2)
removeChild(nodex)移除某个节点
cloneNode(true or false) : true表示深复制(整个子节点树),false表示浅复制(本身)

二、常用节点Document类型
JS通过Document类型表示文档,在浏览器中,document对象是继承自Document的HTMLDocument的一个实例,表示整个HTML页面。

1.方法
dcument.documentElement :取得对<html>的引用
dcument.body
dcument.doctype(注释在不同的浏览器结果不同)
dcument.title
dcument.URL/domain/referrer(修改成同一个domain可以实现跨访问)
dcument.getElementById() (大小写匹配,返回第一个符合的对象,name不要设置和ID一样,IE很多不一样)
dcument.getElementSByTagName() (返回HTMLCollection, 比如“img”,”*”表示取得所有元素)
document.write/open/close/writeln/
特殊集合: 都是HTMLCollection对象
document.anchors :带name特性的<a>
document.forms
document.images
document.links 带href的<a>

2.一致性检查
由于DOM分为多个级别,也包含多个部分,因此检测浏览器实现了哪些部分十分必要。

三、Element元素
作用:用于变现HTML,XML元素,提供了对元素标签名、子节点、特性的访问。
1.HTML元素
标准特性:id,title,lang,dir,className

2.对特性的操作(特性部分大小写)

getAttribute()
setAttribute()
removeAttribute()

3.attributes属性
它也包含一个NamedNodeMap,动态集合
element.attributes[“id”]

注:除IE外,不能用属性的形式添加特性到DOM对象中。
一般用对象的属性来取得特性,只有取得自定义特性值时,才会使用getAttribute().
DOM操作中,<script> <style> 小心点
DOM消耗开销很大,NodeList问题最多。尽量减少DOM操作

网页表单自动填写技术:从DOM操作到自动化测试的四种方法详解 表单自动填写是Web自动化领域的基础技术,其核心原理是通过程序模拟用户操作,向网页表单元素填充预设内容。从技术实现层面看,关键在于理解DOM操作与事件驱动机制:直接修改元素的value属性虽能改变显示状态,但可能绕过页面的事件监听逻辑,导致实时校验、联动更新等功能失效。为解决此问题,需要结合事件触发机制,通过dispatchEvent方法模拟input、change等原生事件,从而确保页面状态同步更新。这项技术的工程价值在于显著提升开发测试效率和数据处理准确性,广泛应用于自动化测试、数据采集、日常办公等场景 阅读详情

相关推荐

【DOM】思维导图、知识梳理

【DOM】思维导图、知识梳理

Mr_115的博客 913

2020-04-26

千里之行,始于足下!

ojzct的博客 370

Matlab GUIDE -- 串口操作

1、首先新建-->应用程序-->GUIDE。 2、绘制一个简单的UI。 3、然后右击“打开串口”图标-->查看回调-->callback,即可打开此图标的回调函数,此回调函数是press button时执行(可按需要选择其他回调)。 4、在回调函数中添加打开串口的代码。 delete(instrfindall); %删除所有串口 s3 = serial('CO

Asgard-X 2837

html浏览标签页性恋比例,聊聊Dom与Sub的构成比例与现状

一段经常被引用的有些过度的古文,恕我不敬地篡改一下:世有Dom,而后有Sub;Sub常有,而Dom不常有。现在圈里越来越多的会听到心奴/ASub的字眼,或者不少自称心奴的Moon比例,也越来越高;本人的拙见,其中大部分不是真正的Sub,或者称为心奴,而是K1-K9类别TJ时间久了,想寻找更高精神层面被控制的一种内心愿景和体验;类似一些Four onenine,多P等体验多了的年轻男女,感觉无趣了,...

weixin_36387104的博客 1万+

从零到一:基于GeneMark-ES/ET的新基因组注释实战指南

本文提供了一份基于GeneMark-ES/ET的新基因组注释实战指南。详细介绍了从环境搭建、数据准备到核心运行的全流程,重点解析了ES(从头预测)与ET(结合RNA-Seq证据)两种模式的选择与操作,并分享了Perl模块依赖、并行处理等常见问题的解决方案,帮助生物信息学研究者高效完成基因预测工作。

weixin_29266647的博客 209

从ORCAP-1589警告看Cadence ORCAD的DRC设置:如何避免‘网络别名’引发的潜在短路风险

本文深入解析Cadence ORCAD中ORCAP-1589警告的深层含义,探讨网络别名可能引发的短路风险及DRC设置优化方案。通过分析网络别名的设计意图、DRC规则配置及最佳实践,帮助工程师有效规避设计风险,提升电路设计的可靠性和规范性。

weixin_34194829的博客 297

虚拟dom和直接操作dom_DOM操作入门指南

虚拟dom和直接操作domDOM Manipulation can make web applications customizable and the data of the webpage can be updated without refreshing the page. By DOM manipulation we can add, change and remove any HTML ...

weixin_26738395的博客 1046

Python OpenCV基于颜色通道分离法去除图片中的红色印章

最近一段时间的工作都是研究如何去除图片中的红色印章,在网上查找了大量的大佬写过的方法,发现大多数是采取颜色通道分离法来做,并且效果还不错。站在前人的肩膀上,我又做了些许调整,谈不上是改进,但是能应对更对的情况总还是好的,特此记录。 拿发票做例子,印章相较于其它部分最大的不同就是印章是红色的,而其它部分不是(这是一句废话)。 那么第一步当然就是将红色分离出来,这一步可以采用Python第三方库OpenCV里的 cv2.split()方法,该方法是把RGB图像的三个通道拆分开来,得...

wl_Honest的博客 1万+

jQuery文档对象模型DOM的实际应用

DOM 在 JavaScript 课程中我们详细的探讨过,它是一种文档对象模型。方便开发者对 HTML 结构元素内容进行展示和修改。在 JavaScript 中,DOM 不但内容庞大繁杂,而且我们开发的过程中需要考虑更多的兼容性、扩展性。 在 jQuery 中,已经将最常用的 DOM 操 作方法进行了有效封装,并且不需要考虑浏览器的兼容性,对...

祈澈菇凉 675

从AXI到CHI:深入解析基于Credit的流量控制如何优化NoC设计

本文深入解析了从AXI握手式流控到CHI基于Credit的流量控制机制的演进。通过对比传统流控的瓶颈,详细阐述了Credit机制如何通过信用预分配和记账系统,有效解决FIFO气泡、时序收敛等难题,从而优化NoC设计的带宽利用率、降低延迟并提升系统可扩展性。

weixin_29227585的博客 522

AI爬虫:一文讲通AI爬虫技术和原理,及34个AI爬虫工具推荐

AI 爬虫 是一种结合了传统网络爬虫技术和人工智能(AI)技术的工具,能够更智能、高效地从网页中提取和处理数据。与传统爬虫相比,AI 爬虫能够更好地处理动态内容、复杂网页结构以及非结构化数据,同时具备数据清洗、分类、情感分析等高级功能。

数据知道的博客 1万+

javascript学习笔记——DOM、Node类型、Document类型、Element类型、Text类型、Comment类型(注释)

DOM(文档对象类型)是针对HTML和XML文档的一个API。 DOM可以将任何HTML和XML文档秒回成一个由多层次节点构成的结构; 节点分为12种类型,每种类型表示文档中不同的信息及标记;每个节点都拥有各自的特点、数据和方法 文档节点是每个文档的根节点;文档节点只有一个子节点叫文档元素,即,&lt;html&gt;元素。 文档元素是文档最外层的元素,文档中的其他所有元素都包含在文档元...

ass_ace 2870

YOLOv11知识蒸馏,实现无损涨点,包含逻辑蒸馏和特征蒸馏中的不同蒸馏方法,适用专栏内的所有模型

知识蒸馏(Knowledge Distillation)是由 Hinton 等人在 2015 年提出来的,主要是用一个复杂的教师模型去指导一个简单的学生模型训练,这样能让学生模型在保持高精度的同时,还能减少计算量。本文便是讲解如何针对的原始模型以及改进后的模型进行知识蒸馏,轻松实现无损涨点。知识蒸馏的核心在于利用已训练好的复杂模型(教师模型)去指导一个更简单的模型(学生模型)进行训练,以此让学生模型在保留较高精度的同时,降低计算成本。特征蒸馏(Feature Distillation)是知识蒸馏的一种形式,

Limiiiing的博客 4959

vue diff算法与虚拟dom知识整理(7) 根据init.ts源码简单梳理patch都做了些什么

首先 经过刚才的整理 大家应该也明白这个container进入patch都会经历什么了 他其实不像大家理解的那样 变成虚拟节点的容器 而是他会被转为虚拟接单 然后被检查与第二个节点不一样 会被暴力拆掉 然后把第二个这个我们自己写的div虚拟节点换掉。这里 需要注意的是 TS语法函数 变量名后面 : 后代表参数的类型 而Element表示是一个节点 这是一个真正的DOM 节点 因为虚拟节点类型其实是一个对象。init.ts中我们可以看到 是通过这里的sameVnode函数 判断的。

weixin_45966674的博客 503

YOLOv11改进策略【Neck】| arXiv 2025 分层多头注意力HMHA 子空间拆分提多样 + 通道重排降冗余,强化目标检测精度

HMHA(Hierarchical Multi-Head Attention,分层多头注意力)旨在解决传统多头注意力(MHA)在图像恢复任务中的核心缺陷——特征冗余。传统MHA将通道均匀拆分给各个头,导致不同头学习的子空间信息相似,进而出现多头关注同一区域、忽略退化区域修复的问题,限制了模型的特征表达能力。HMHA通过“分层子空间拆分+通道重排序”策略,让每个头学习差异化、互补的上下文特征,从根源上缓解冗余,提升图像恢复任务中对复杂退化场景的特征捕捉能力。

Limiiiing的博客 779

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

React虚拟dom及dom Diff的理解

随着近年来前端行业迅速的崛起 前端已经不仅仅局限于将页面展示出来了,更多的是考虑性能的优化和用户的体验,因而越来越多的框架应运而生,angular,react ,vue 三大开源框架 目前在前端行业三足鼎立,人家站稳脚跟的原因必然是将前端的历史遗留问题解决的彻彻底底,同时在很大程度上还解决了很多其他的问题,当然最主要的还是 页面加载速度 及更新速度上。下面简单梳理下虚拟dom 和 diff算法 v...

m0_38127466的博客 680

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

xss漏洞简单复习

alert(1)</script>,这个标签,如果他不是靠参数接受的xxx.com/<script>alert(1)

m0_74741186的博客 1042

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

带你看懂Virtual DOM及diff算法在vue中的应用

什么是vdom vdom 是一种使用js对象来描述真实dom的技术,通过这种,我们能精确知道哪些真实的Dom改变了,从而尽量减少Dom操作的性能开销。 snabbdom.js vdom是通过snabbdom.js库实现的,大概过程有以下三部 1.compile (把真实的dom编译成Vnode); 2.diff (利用diff算法,比较oldVnode和newVnode之间有什么变化); 3.patch(把这些变化通过打补丁的方式更新到真实的dom上去); snabbdom的两个核心函

weixin_44389107的博客 519

前端老铁别硬刚:虚拟DOM到底咋让页面丝滑如德芙(附避坑指南)

写这篇文章的时候,我翻了不少源码,也回想了自己这些年前端路上的踩坑史。说实话,虚拟DOM确实是个巧妙的设计,但它只是特定历史时期的特定解决方案。它解决的是"频繁操作DOM性能差"的问题,但带来的代价是额外的抽象层、内存占用和计算开销。现在浏览器越来越智能,比如Chrome的属性可以跳过屏幕外元素的渲染,Web Components提供了更原生的组件化方案,甚至未来的"量子DOM"(如果真有人搞出来)可能会让虚拟DOM变得多余。但不管技术怎么变,理解底层原理、具备调试和优化的能力永远是核心竞争力。

master_chenchen的博客 324

DOM知识点梳理

DOM(文档对象模型)是JS操作网页的接口是浏览器内部用来表示HTML和XML文档的对象化视图。它允许JavaScript操作页面内容,如元素、属性和样式等。

2301_81045156的博客 3433

DOM树知识点梳理

为什么会提到Dom树呢,或许它对于我们很好地理解网页各个元素,标签和控件搭配,以及各种js,css等的加载会有一些帮助。笔者在工程中遇到了一些小问题,本质就是dom树的东西掌握的不扎实。所以借此来梳理一下。 1.HTML DOM ok, 我们先来看一下W3school中怎么解释这个概念和结构的。W3school是一个很不错的网站,很适合初学者和基础不扎实的人。HTML DOM 定义了访问和操作

1万+

ECMAScript_数据类型概括 + BOM +DOM

[1]特点:只能存储一个值;[2]分类-5中+es6新增1个数据:整数、小数(浮点数)、正数、负数注意问题:不要比较小数的大小原因:计算机内部所有的数据都是以二进制进行存储的,所以小数(由于精度问题)在转化时可能存在丢失,造成结果不准确举例说明 解决办法:将小数转化为整数,再进行计算/比较 number数据类型中两个特殊的数据类型(NaN,Infinity) [1]NaNNaN属于number数据类型,但是并不是一个数值;当进行数学运算的时候,若是达不到正确的结果,一般值就为NaNeg:

qq_43260366的博客 768

《JavaScript DOM编程艺术》核心知识点梳理

《JavaScript DOM编程艺术》(第二版)这本书的核心理念是 “渐进增强” 和 “平稳退化” ,强调JavaScript应该用来增强用户体验,而不是构建网站的基础。即使JavaScript被禁用,网页的核心内容和功能也应该能够正常访问。全书的知识体系可以概括为三大模块:JavaScript语言基础、DOM编程核心、综合实践与最佳实践。即使今天前端技术已经飞速发展,这本书所倡导的核心思想和最佳实践依然完全适用,是每一位前端初学者必读的经典之作。

宝青书坊 1034

精心梳理:DOM事件处理的全面避坑及优化指南

DOM树 ~ 这个很关键 树的根节点是document, 不是window。 上图其实还少了一个节点,虽然作用不大,了解了解。 其树结构如下。

成长的程序世界,一起成长 844
上一篇: HTTP理解梳理
下一篇: setTimeout 循环闭包的经典面试题 解法与探究
X_Jagger
博客等级 码龄10年 3粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值