Javascript学习笔记5 DOM

AMEsim柱塞泵的建模学习 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、为什么要对柱塞泵进行仿真?二、Amesim中柱塞泵的模型1.amesim中自己的定排量五柱塞的斜盘柱塞泵2.压力、流量仿真总结 前言 最近在学习Amesim进行柱塞泵的仿真学习,顺便在这里记录我的学习过程,这是我的初衷 提示:以下是本篇文章正文内容,下面案例可供参考 一、为什么要对柱塞泵进行仿真? 柱塞泵是功能和动力学比较复杂的流体机械。而在实际实验中,往往没有条件或者需要对柱塞泵做一些优化,所以需要我们利用仿真... 阅读详情

DOM:文档对象模型,针对HTML和XML文档的一个API,DOM可以将任何HTML或XML文档描绘成一个由多层节点构成的结构

Node类型

所有的节点类型都继承自Node类型,每个节点都有个nodeType属性,表明节点的类型。
重要的类型包括:

  • Node.ELEMENT_NODE (1) 元素节点
  • Node.ATTRIBUTE_NODE (2) 属性节点
  • Node.TEXT_NODE(3) 文本节点
  • Node.DOCUMENT_NODE (9) 文档节点

属性

nodeType:保存着节点类型,例如,若是元素节点,该值等于1
nodeName:若是元素节点,那么则是标签名
nodeValue:若是元素节点,该值为null
childNodes:保存一个NodeList对象,可以通过方括号访问子节点。(子节点可能元素、文本节点、注释等,在遍历时务必注意判断节点类型)

var firstChild = someNode.childNodes[0];   //第一个子节点
var count = someNode.childNodes.length;  //子节点的数目

parentNode:指向文档树中的父节点
previousSibling 和 nextSibling:节点的前一个兄弟节点或后一个兄弟节点,没有则为null
firstChild 和 lastChild:节点的第一个子节点和最后一个子节点
ownerDocument:指向整个文档的文档节点

方法

hasChildNodes():节点包含子节点时返回true
appendChild():追加一个子节点,成功则返回该节点

someNode.appendChild(newNode);

insertBefore():在某子节点之前插入新的子节点。接受两个参数,要插入的子节点和作为参照的子节点

someNode.insertBefore(newNode,someNode.firstChild);  //插入后成为第一个子节点

replaceChild():以新的子节点替换某子节点,接受两个参数,新的子节点和被替换的子节点,返回被替换的节点

someNode.replaceChild(newNode,someNode.lastChild); //替换最后一个子节点  

removeChild():移除子节点
cloneNode():复制某节点,接受一个布尔值参数,为true时表明为深复制,该节点及其子节点树也会被复制,否则只复制该节点(该方法只会复制特性,而不会复制事件处理程序)

var deepList = myList.cloneNode(true);

normalize():在调用此方法节点的后代节点中查找,若找到空文本节点,则删除,若找到相邻的文本节点,则合并


Document类型

document对象是window对象的一个属性,可以将其作为全局对象来访问,其节点类型nodeType为9

属性

documentElement: 指向文档的<html>元素
body:直接指向<body>元素
title:<title>元素的值
URL:包含页面完整的URL
domain:取得页面域名
referrer:取得来源页面的URL

方法

getElementById():查找元素,接受元素的ID
getElementsByTagName(): 查找元素,接受元素的标签名,返回元素集合
getElementsByName(): 查找元素,接受元素的name属性值,返回元素集合(只限定于HTMLDocument类型)
write():接受一个字符串参数,将文本原样写入(如果在文档加载完成后,再调用该方法,则会重写整个页面)

document.write("<strong>" + (new Date()).toString() + "</strong>");

writeln():与write()类似,但是会在末尾自动添加一个换行符(\n)
open()/close():打开和关闭网页的输出流,不常用

特殊集合

document.anchors: 所有带 name 特性的<a>元素
document.forms:所有<form>元素
document.images:所有<image>元素
document.links:所有带 href 特性的<a>元素


Element类型

节点类型nodeType为1,nodeName为元素的标签名,nodeValue为null

属性

attributes:包含着一个NameNodeMap,元素的每个特性都由一个Attr节点表示,每个节点都保存在NameNodeMap。其中每个节点的nodeName就是特性名,而nodeValue就是值

var id = element.attributes["id"].nodeValue;

方法

getAttribute():访问元素属性,若不存在,则返回null。

div.getAttribute("class");
div.getAttribute("title");
  • 与直接用元素.属性名访问的区别:当访问style属性时,该方法返回CSS文本,而通过属性名访问时,返回一个对象。当访问onclick等事件处理程序时,该方法返回响应的代码,而通过属性名访问时,返回JS函数。

setAttribute():设置元素属性,接受两个参数,属性名和值

div.setAttribute("id","newid");

removeAttribute():删除元素特性,接受一个参数,属性名

div.removeAttribute("class");

document.createElement():创建元素,返回该元素

var div = document.createElement("div");

Text类型

节点类型nodeType为3,nodeName为”#text”,nodeValue为文本值,没有子节点

属性

nodeValue或data:文本节点中包含的文本值
length:文本字符的长度

方法

document.createTextNode():创建新的文本节点,接受一个文本字符串值

var textNode = document.createTextNode("Hello world");

normalize():在调用此方法节点的后代节点中查找,若找到空文本节点,则删除,若找到相邻的文本节点,则合并

element.normalize();

splitText(): 将一个文本节点分成两个文本节点,接受一个参数,分隔的位置,返回包含后半截文本的新文本节点

var textNode = deocument.createTextNode("Hello world");
element.appendChild(textNode);

var newNode = element.firstChild.splitText(5);
alert(element.firstChild.nodeValue);  //"Hello"
alert(newNode.nodeValue);  //" world"
alert(element.ChildNodes.length);  //2

Attr类型

nodeType值为2,nodeName是属性的名称,nodeValue是属性值,在HTML中没有子节点

属性

name:属性名称
value:属性值
specified:布尔值,区别属性时由代码指定的,还是默认的


操作表格

<table>元素的属性和方法

  • caption:对<caption>元素的指针
  • rows:对表格中所有行的HTMLCollection
  • tBodies:对表格中所有<tbody>的HTMLCollection

<tbody>元素的属性和方法

  • rows:对<tbody>中行的HTMLCollection
  • insertRow(pos): 在指定位置插入行
tbody.insertRow(0);  //在tbody中的最前面插入一行
  • deleteRow(pos): 在指定位置删除行

<tr>元素的属性和方法

  • cells:对<tr>中列的HTMLCollection
  • insertCell(pos): 在指定位置插入单元格
  • deleteCell(pos): 在指定位置删除单元格

因此可以使用以上属性和方法更为方便地操作表格

tbody.rows[0].cells[0];   //第一行第一个单元格

NodeList(例如ChildNodes)、NameNodeMap(包含元素的属性节点)、HTMLCollection都是动态集合,他们会随着文档结构的变化而随之更新
传感器应用案例:压力传感器在工业自动化中的应用_(13).压力传感器的数据采集与处理 数据采集系统(Data Acquisition System, DAS)是连接传感器和控制系统的重要桥梁。它包括硬件(如数据采集卡、信号调理器)和软件(如数据采集软件、数据处理算法)两部分。信号调理:将传感器输出的模拟信号转换为适合AD转换的信号。AD转换:将模拟信号转换为数字信号。数据传输:将数字信号传输到控制系统或上位机。存储:将采集的数据存储在本地或远程数据库中。实时性:保证数据的实时性和准确性。压力传感器的数据采集与处理是工业自动化中不可或缺的一部分。 阅读详情

相关推荐

Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)

若只是实现一对一通信,仅使用webrtc就足够了。但有时间需要进行多个人的直播会议,当人比较多时,建议使用一个流媒体服务器,笔者使用的是SRS。这个开源项目资料比较全,笔者仅在此记录下搭建过程。

aggs1990的专栏 3364

【JavaScript 教程】DOM——Text 节点和 DocumentFragment 节点

1、Text 节点的概念文本节点(Text)代表元素节点(Element)和属性节点(Attribute)的文本内容。如果一个节点只包含一段文本,那么它就有一个文本子节点...

web前端开发 426

Ansys CFX Pre 中 RGP 表的高级配置与优化策略

本文深入探讨了Ansys CFX Pre中RGP表的高级配置与优化策略,旨在帮助用户将仿真从“能用”提升至“精准好用”。文章重点解析了如何根据具体仿真场景,科学设定温度压力范围、选择流体类型,并针对相变等复杂工况实施网格加密与分离建表等关键优化技术,以显著提升计算精度与稳定性。

weixin_29216957的博客 1180

js学习笔记5(API及DOM)

/API(应用程序接口):是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组程序的能力,而又无需访问源码,或理解内部工作机制的细节(简单理解为API是一种工具,便于轻松实现想要实现的功能;//返回的是元素对象的集合,以伪数组的形式存储 不管页面中有几个,就算没有这个标签也是返回的元素对象集合,不过是一个空的伪数组形式。//如果想要依次打印里面的元素对象,可以采取遍历的方式👇 得到的元素是动态的(把标签里的内容改了,JS不用改也能得到修改后的内容)

qq_63130842的博客 558

AI数字人直播带货全攻略:从零搭建到高效运营

本文提供了一份从零开始搭建与运营AI数字人直播间的完整指南。详细解析了AI数字人直播带货的核心价值与适用场景,并分步讲解了硬件准备、软件选择、数字人创建、话术编排、OBS推流设置及开播测试等关键环节。最后,文章还分享了高效运营策略与常见避坑指南,旨在帮助商家利用AI技术实现降本增效,打造24小时不间断的智能带货直播间。

weixin_29269441的博客 2235

飞腾X100芯片GPU状态查询

本文档对在linux系统下查看X100芯片GPU状态信息进行说明,可以帮助大家了解芯片的实时工作状态。

乌拉大喵喵 2815

javascript DOM编程艺术学习笔记(5)通过DOM来设置样式案例

********* 通过DOM来设置样式案例2: PS:这边为什么要用js来修改呢,而不用CSS? 因为假如我们用CSS来设置样式,则必须使用高级的选择器,但是有些浏览器是不支持的; 假如为相应的行加上CLASS也是可以完成的,但是当我们要改变表格的行和列的时候,这时就得 为新添加的行和列手动添加class,所以这样是非常不灵活的,为此我们可以采用JS DOM来解决; JS DOM擅长

彬go的专栏 974

【YOLOv8科研级创新】集成HS-FPN特征融合网络,让Neck模块在参数量锐减100W的同时精度跃升

打开确保模型解析器能识别HS_FPN模块。通过将HS-FPN集成到YOLOv8中,我们实现了一个“轻量级多尺度特征融合+精准检测”的目标检测模型。这个改进不仅在工程上能提升多尺度、细粒度场景的检测效果并降低部署成本,更在科研上提供了“选择性轻量级特征融合”的创新思路——这种思路可以延伸到其他检测网络(如Faster R-CNN、SSD)的Neck模块改进中,帮你在论文中打造独特的研究点。

m0_64661770的博客 137

JavaScript的DOM学习笔记——5、日期和时间

本文介绍了JavaScript中日期时间对象的使用方法。主要包括:1.获取当前或指定日期时间的对象;2.通过getFullYear()、getMonth()等方法获取具体日期时间属性;3.使用toLocaleString()等格式化显示时间;4.时间戳的概念、作用及三种获取方法(getTime()、+new Date()、Date.now())。文章通过代码示例演示了如何操作日期时间对象,并解释了时间戳在网络通信中的重要性,能确保跨系统时间的一致性。

阿赵的博客 1187

竞赛经验——挑战杯、互联网加、北斗杯、微软创新杯、计算机设计等比赛教训与经验

最近参加一些比赛,北斗杯、挑战者杯、微软创新杯等比赛,每次比赛都有不少需要总结的地方,特别是项目展示上技巧很多,总结一下。 首先最重要的是作品自身硬!自身的作品完成度不高,或者是没有创新点,就没必要参加了。 比如是出去比赛的话,我反正每次碰到最多的是智慧农场、智慧家居之类,不知道为啥这种的太多了。如果是创业型比赛,评委基本会问小米已经做得很好了很便宜了,你的优势在哪里?这些都是常见的问题提前要...

沉迷单车的追风少年 7328

【AUTOSAR SystemServices】AUTOSAR CP中Watchdog Manager模块技术解析

本文深入解析了AUTOSAR中的Watchdog Manager模块实现。该模块通过多层次监督机制(Alive/Deadline/Logical Supervision)确保系统安全运行,具备动态模式切换和分级故障处理能力。 关键实现包括: 数据结构设计:包含监督实体状态结构体(实时状态维护)、监督配置结构体(支持模式切换)和全局状态信息(系统级监控) 核心流程优化:初始化采用事务性设计,检查点处理通过条件编译优化,主监控循环采用流水线式并行处理 监督机制实现:Alive监督采用滑动窗口算法,Deadlin

1038

JavaScript学习笔记(5):DOM增加节点的操作

JavaScript学习笔记(5) DOM增加节点的操作 前言 上一次讲了DOM查询节点的操作,这一次来看看增加节点的操作。 首先需要创建节点 document.createElement(“element”) 创建一个元素节点 var p = document.createElement("p"); console.log(p)//<p></p> document.cr...

weixin_43246995的博客 428

蓝牙模块HM-10手册

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

记录我的旅程5之JavaScript Dom学习笔记

      下面我们接着旅程4继续我们的JavaScript Dom征程5,这篇博文主要讲的是事件冒泡还有Dom修改元素的样式,所以这篇博文里面有很多举例说明,如:网页的开关灯效果,文本框的变色效果,还有就是评分控件的实现,而且这些在网页中用法都是非常普遍的。 JavaScript中的事件冒泡 (1) 事件冒泡:如果元素A嵌套在元素B中,那么A被点击不仅A的onclick事件被触发,B...

weixin_34234829的博客 149

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

JS学习笔记5_DOM

1.DOM节点的常用属性(所有节点都支持) nodeType:元素1,属性2,文本3 nodeName:元素标签名的大写形式 nodeValue:元素节点为null,文本节点为文本内容,属性节点为属性值 关系属性:parentNode,childNodes,nextSibling,previousSibling,firstChild,lastChild ...

weixin_30439031的博客 73

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

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

JavaScript DOM学习笔记5——创建和操作节点

之前学习了DOM中各种节点的访问方法,DOM所包含的内容远不止如此,DOM编程还包括当DOM树已经构建起来之后再添加节点。         1.创建新节点         document对象中包含了多个创建各种节点的方法。《JavaScript高级程序设计》中专门设计了一个表格,来说明每个方法的原型、作用、IE、Firefox、Opera、Safari等浏览器的支持情况。一眼望去几乎都是一些

wawlian说 510

javascript学习笔记5:dom的节点,星星案例2,

1.dom  描述网页各个组成部分之间的关系。注:火狐浏览器中空白处也算一个节点在 XML DOM 中,节点的关系被定义为节点的属性:parentNode childNodes firstChild lastChild nextSibling previousSibling 下面的图像展示了 books.xml 中节点树的一个部分,并说明了节点之间的关系:dom节点练习:&lt;!DOCTYPE ...

shanshuisheng的博客 322

HTML5 混合APP开发学习笔记(七)——JavaScript HTML DOM操作

JavaScript HTML DOM操作 DOM的样式编程 className属性 className属性可以用来读取或设置HTML元素对象的class属性 当将className属性设置为空字符串时,代表移除所有的样式 classList对象 所有浏览器的 childNodes 属性返回的是 NodeList 对象。 大部分浏览器的 querySelectorAll() 返回 NodeLis...

weixin_43569314的博客 431

Javascript高级编程学习笔记(53)—— DOM2和DOM3(5)遍历

Javascript高级编程学习笔记(53)—— DOM2和DOM3(5)遍历 遍历 “DOM2级遍历和范围” 定义了两个用于辅助完成顺序遍历的DOM结构类型 NodeIterator 和 TreeWalk 上述两种类型可以基于给定起点的DOM结构执行深度优先的遍历操作 对于检测浏览器对于该功能的实现可以使用以下代码 var supp...

巽秋的博客 129

JavaScript 学习笔记 基础篇5(DOM操作补充及案例)

全选框 <script> var friuts = document.getElementsByClassName("fruit"); var _all = document.getElementsByClassName("all")[0]; _all.onclick = function(){ for(var i=0 ;i<friuts.length;i++){ friuts[i].checked =this.ch.

heal_l的博客 202

Python学习笔记:5.2.7 javascript之DOM对象

本文是学习陆老师的《python全栈工程师 - web开发前端基础》课程的笔记,欢迎学习交流。同时感谢陆老师的精彩传授! 一、课程目标 document对象 dom选择器 dom操作 dom事件 二、详情解读 2.1.document对象 在之前,html文档就是由一组标签组成的文档,但是在javascript中,html被被视为由一系列节点通过层级关系组合在一起,并且可以通过javascr...

元文的博客 406

HTML5 混合APP开发学习笔记(六)——JavaScript HTML DOM操作

JavaScript HTML DOM操作 DOM介绍 DOM(Document Object Model)文档对象模型是HTML和XML的应用程序接口(API) DOM通过创建树来表示HTML文档 ,从而使开发者对文档的内容和结构具有很强的控制力,可以使用DOM API对这棵树的节点作各种变化:增加节点、删除节点、查找节点、修改节点等,DOM技术还可以使得用户页面可以动态地变化,如可以动态地显示...

weixin_43569314的博客 449

Javascript高级编程学习笔记(39)—— DOM(5)Comment

Javascript高级编程学习笔记(39)—— DOM(5)Comment Comment类型 顾名思义,comment类型指的就是注释节点在HTML文档中的类型 也就是说平时我们在代码中的注释,在HTML解析的时候也会被解析为一类节点 让我们可以根据这些节点进行一系列的操作 Comment类型的属性及方法 nodeType:...

巽秋的博客 185

JS学习笔记---14 DOM-5、节点操作

5、节点操作 5.1、为什么学节点操作 获取元素通常使用两种方式: 1、利用 DOM 提供的方法获取元素 document.getElementById() document.getElementByTagName() document.querySelector() 等 逻辑性不强、繁琐 2、利用节点层次关系获取元素 利用父子兄节点关系获取元素 逻辑性强,但是兼容性较差 这两种方式都可以获取元素节点,我们后面都会用到,但是节点操作更简单 5.2、节点概述 页面中所有内容都是节点(标签、属性、文本、

weixin_51744858的博客 202
上一篇: Javascript学习笔记4 BOM
下一篇: 希尔排序
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值