DOM -- 概念、类型、操作

什么是DOM(超详细解释,建议收藏!!!) 元素节点表示 HTML 元素,属性节点表示属性,文档类型节点表示文档类型,注释节点表示注释。所有的节点和最终的树状结构,都有规范的对外接口。其中,子节点接口包括firstChild(第一个子节点)和lastChild(最后一个子节点)等属性,同级节点接口包括nextSibling(紧邻在后的那个同级节点)和previousSibling(紧邻在前的那个同级节点)属性。文档里面最高的HTML标签,一般是,它构成树结构的根节点(root node),其他HTML标签节点都是它的下级。 阅读详情

基本概念

DOM、DOM节点、DOM树

DOM(Document Object Model)是文档内容(HTML或XML)在编程语言上的抽象模型,它建模了文档的内容和结构,并提供给编程语言一套完整的操纵文档的API

DOM 节点是 DOM 模型的组成单元。HTML 的基本单元是标签,节点常常与标签对应,但连续的文本内容也是一个文本标签

DOM 树是 DOM 结构的表示形式,DOM 把文档的每个节点根据父子关系连接,形成 DOM 树

为什么需要DOM

在 JS 还未诞生时,不需要对文档内容进行修改,浏览器直接对文档内容单次解析并呈现,就不再关心文档了,那个时候没有 DOM

JS 出现后,JS 可能会修改文档,而且浏览器需要实时反映这种修改。如果没有 DOM,JS 直接修改文档的字符串内容,这将会变得很灾难:

1)在 JS 中处理庞大的 HTML 文本,必然繁琐且错漏百出

2)即使 JS 可以胜任这个工作,但当 JS 修改页面后,浏览器无法知道修改了哪里,只能重新解析整个页面,对性能有极大的消耗

3)即使前面都安好,但在用户看来,每次修改文档浏览器重新解析,页面必然会出现一段时间白屏,解析时间快还可能闪屏,体验极差

因此,需要一种便捷、高效、可跟踪的文档修改方式,这就是 DOM 做的事

  1. 浏览器首次解析文档时,把文档中的标签(文本等)解析成一个个节点,父元素与子元素用线连接,整个文档最终形成一个称为 DOM 树的树形结构。浏览器再根据 DOM 树去呈现页面,它会跟踪 DOM 树的变化,一旦 DOM 树变化,页面也会做出相应变化
  2. DOM 树在 JS 环境中是存在的(JS 执行引擎是浏览器的一部分),所以在 JS 中,原本对文档的修改现在只需要修改 DOM 树和其中的节点。DOM 节点对象就是普通的 JS 对象,有易于操作的方法和属性,这样 JS 操纵文档就像操作对象一样方便快捷,而且浏览器会知道修改了哪个节点,只需要重新渲染被修改影响的局部页面(即发生回流与重绘)

后来,DOM 组件发展成为一套不依托于浏览器和 JS 的独立规范,提供了一套完整的访问和修改文档的接口,DOM 标准由 W3C 维护

所以 DOM 这个名词应该有两层含义:

1)从浏览器来看:根据文档建模出来的一个树形模型,即 DOM 树

2)从编程语言来看:它提供了一套操纵文档的 API

在这里插入图片描述

节点、节点类型和节点类

节点:是 DOM 树的组成单元,在 JS 看来,一个节点就是 JS 对象,下面用 node 表示任意的节点

节点类型:有 12 种节点类型,分别用常量 1~12 表示,可以通过 node.nodeType 属性获取节点的类型常量。现在有些类型的节点已经弃用了,常见的有以下几种类型的节点:

  • 元素节点:类型常量为 Node.ELEMENT_NODE 或 1,对应文档中的元素,大部分 DOM 操作都是在元素节点层次的
  • 文本节点:类型常量为 Node.TEXT_NODE 或 2,对应文档中的文本,任何文档内容都有对应的文本节点,即使空格和换行符(空格和换行符不会对页面内容产生影响,但确实以文本节点的形式存在于 DOM 树中)
  • Document节点:类型常量为 Node.DOCUMENT_NODE 或 9,它不对应文档的内容,而是作为文档的入口节点,每个文档都有且仅有一个入口
  • 注释节点:类型常量为 Node.COMMENT_NODE 或 8,对应文档中的注释标签,文档的注释内容也是可读取和修改的

节点类:DOM内置许多节点类,类之间存在继承关系,形成一套节点类框架。每个节点对象都属于节点类,拥有该类和其父类的方法与属性,这使得操作节点十分简单,节点类框架的一部分大概如下图,这些节点有丰富的属性和方法,是继承的结果,可以看到一个 HTML 标签元素至少有四层的继承关系

在这里插入图片描述

以 标签为例,它属于 HTMLAnchorElement 类,获得了 a.target、a.download 等属性,接着继承了 HTMLElement 类上的 title、hidden 等属性和 click() 等方法,又从 Element 类继承了 tagName、className 等属性和 getAttribute()、setAttrribute() 等方法,又从 Node 类继承了 nodeType、appenChild()、removeChild() 等方法,最后从 EventTarget 类中继承了事件相关的属性和方法

PS:不要混淆节点类型和节点类两个概念,前者是一个生活中的类别,后者是编程意义上的类。 节点对象的 nodeType 属性表示了它的类型,而节点类是该节点的从属的类。因为 Node 是一个抽象类,所以如果知道了某个节点从属的类,就知道了它的节点类型

探索DOM结构

Live DOM Viewer 是一个可以根据 HTML 文档实时查看 DOM 树的网站,通过以下的例子来看看文档、DOM树与节点的关系

<!DOCTYPE HTML>
<html>
<body>
  A simple text.
  <ol title="this is a title">
    <li>czpcalm</li>
    <!-- comment -->
  </ol>
</body>
</html>

它对应的 DOM 图(颜色区分了节点类型):

在这里插入图片描述

在这张图中,总共有 4 种类型的节点,分别是标签节点(红色)、文本节点(灰色)、注释节点(黄色)和 DOCTYPE节点(紫色)

  • 文档没有 标签却出现了 HEAD 节点,这是因为 HTML 必然存在 、、 标签,不存在时会自动补上。当出现

    标签时,也一定会有 标签

  • 文档中的文本都会形成文本节点的内容,包括空格␣和换行↵

    • 单独的空格和换行都会形成对应的文本节点
    • 有内容的文本节点的值包含前导和后继的空白
  • 理解 DOM 树中的父子关系对应文档中的包含(嵌套)关系,一个很好的类比是文件树,把元素看作文件夹,文本看作文件,文件夹中可以存放文件和新的文件夹,然后一层层深入下去,DOM 树也是如此

以下几个原则能帮助快速理解这个 DOM 树的构建:

  • 自动补全:上面提到的自动添加必要元素,也会自动补齐缺少的关闭标签
  • 文档有的 DOM 树都有:这个原则要求空白也会有,不过作为补充的, 前面的空白会被忽略(历史原因)
  • 后如果有内容,会被移到 里面

导航与搜索

操作节点前,需要先找到节点。导航是从一个节点到另一个节点,搜索是从一个范围中选出满足条件的节点

节点导航

Node 类规定了节点具有的许多属性,方便我们从某个节点中找到与它相关的另外节点

顶级节点一般直接获取:

  • document:入口节点
  • document.documentElement:HTML节点
  • document.head:head节点
  • document.body:body节点

对 node 节点,有以下属性:

  • node.parentNode:获取节点的父节点
  • node.previousSibling:获取节点的上一个兄弟节点
  • node.nextSibling:获取节点的下一个兄弟节点
  • node.childNodes:获取节点的子节点列表,没有子节点返回空列表
  • node.firstChild 和 node.lastChild:获取第一个和最后一个子节点

这些是属性,不是方法,不要错误使用 node.childNodes() 之类的

以上导航是基于节点的,包括元素节点、文本节点、注释等。因为我们经常只关心元素节点,DOM 也提供了一组纯元素的导航属性,对元素 elem 或者节点 node,有:

  • node.parentElement:父元素节点,该属性来自 Node 类
  • elem.previousElementSibling:上一个兄弟元素
  • elem.nextElementSibling:下一个兄弟元素
  • elem.children:子元素列表
  • elem.firstElementChild 和 elem.lastElementChild:第一个和最后一个子元素节点

搜索节点

document/element.getElementBy*()系列

document/element.getElementBy*() 表示这是两个不同的类上的方法

  1. 两个来自 Document 类的方法

document.getElementById(id):根据 id 获取文档中的元素

document.getElementsByName(name):根据 name 获取文档中的元素,很少使用

  1. Document 类和 Element 类都具有的方法

document/element.getElementsByTagName(tagName):根据标签名获取文档或某个元素内的元素

document/element.getElementByClassName(className):根据类名获取文档或某个元素内的元素

PS:不要忘记或多加了s,除了document.getElementById(),其他方法的返回结果都是一个集合,没有满足条件的元素则是空集合

document/element.querySelectorAll/querySelector()

这组方法支持 css 选择器:

  • document/element.querySelectorAll(CSSSelector):返回满足选择器的一组节点列表
  • document/element.querySelector(CSSSelector):返回第一个满足选择器的元素

elem.matches(selector)可以检查某个元素是否与选择器匹配

节点操作

通用节点操作

这些操作基于 Node 接口,对所有节点都是通用的

1)判断节点类型

node.nodeType 或 node instanceof :两者都可以用于判断节点类型,当需要明确的节点类的时候,只能通过后者

node.nodeType === Node.ELEMENT_NODE // 或node.nodeType === 1
node instanceof Element // 与上面等效
node instanceof HTMLInputElement // 判断是否是输入元素

2)获取节点名称

node.nodeName:对于元素节点,返回对应的标签名称,如audio。对其他类型节点,返回 # 与节点类型字符串,如#text,#comment,#document,也能通过节点名称判断节点类型,但基本不用

3)获取或设置节点值

node.nodeValue:文本节点或注释节点返回文本内容,元素节点与 document 节点返回 null;读写属性,空白文本也被包含在内容里

PS:文本节点和注释节点有一个 data 属性,使用与 nodeValue 相同,但它不是在 Node 接口上的

4)判断节点是否拥有子节点

node.hasChildNodes() :当节点有子节点时返回true

5)判断节点是否拥有特定子节点

node.contains(childNode) :当 childNode 是 node 的子节点时返回true

元素节点操作

大部分情况下我们都是在元素节点上操作它的文本子节点,所以元素是我们最关心的节点,Element 接口提供了很多的属性和方法,这里只考虑 HTML 元素

1)判断元素类型

elem.tagName 或 elem.nodeName:返回标签的字符串;另外,使用 instanceof 可以实现不同级别的类型判断

2)元素内容

elem.innerHTML:获取或设置元素内的 HTML 片段,设置的内容会被当成 HTML 片段解析,可能会引起文档结构的变化

PS:HTML片段内的脚本不会执行

elem.textContent:获取或设置元素的文本内容(标签被忽略),设置的文本以安全模式(不会被解析)写入


innerHTML、textContent、innerText的使用场景:

  • innerHTML:获取元素内的 html 内容或设置其内部HTML
  • textContent:获取元素的文本内容或设置其文本内容
  • innerText(很少使用):获取在页面呈现的文本内容

很多时候,尤其是元素内部只是普通文本的时候,三者的区别不会造成什么问题

不过,在涉及 HTML 内容时,必须使用 innerHTML,否则使用 textContent,保证安全;使用 innerText 往往是为了兼容 IE6-7

元素的特性和属性

特性是指 html 中写在标签内的特性,而属性是元素节点作为编程对象具有的属性

特征 – 属性同步机制:对标准规定的特性,元素对象具有响应的读写属性,如a.href。对不同 HTML 元素,规定的特性不同,属性也就不同

通用的特性操作接口:

  • elem.hasAttribute(name):检查是否存在某个特性
  • elem.getAttribute(name):获取某一特性的值
  • elem.setAttribute(name, value):设置某一特性
  • elem.removeAttribute(name):删除某一特性
  • elem.attributes():获取所有的特性对,每个特性对具有 name, value 属性

特殊的data-*:data-*特性是一种合法且安全的传递自定义数据的方式,可通过 elem.dataset.name 读取或修改 data 特性的值。属性名称采用驼峰写法,如 elem 上的 data-apple-price 对应 elem.dataset.applePrice

元素的类和样式

修改样式有两种方式:

1)把样式写到某个类里,在代码中修改元素的类;适用于随状态改变样式的情况,用得较多

2)直接修改 elem.style.*,适用于频繁计算或切换的样式

elem.classList:一个包含 elem 所有类的可迭代的类数组对象,这个对象有几个方法,方便改变元素的类:

  • elem.classList.contains(class):检查是否有某个类
  • elem.classList.add(class):添加某个类
  • elem.classList.remove(class):移除某个类
  • elem.classList.toggle(class):切换某个类,如果有就删除,没有就添加

elem.className:一个读写属性,把元素的 class 特性当成一个整体看待

区分:通过 elem.classList 或 elem.className 都可以对元素的类进行改动,前者更灵活,且具有相应的方法,后者是一个整体的字符串属性,适合删除所有的类重新设置

如果需要直接设定元素的样式,可以设置 elem.style.*

元素的位置和尺寸

当设计元素的大小变化或位置移动时,我们需要获取元素的位置或尺寸,设置则用 CSS 方式设置

位置是相对于参照物的,一个元素有相对于定位父元素、相对于视口、相对于文档三种关系位置

  • 相对于定位父元素:

    • 定位父元素是指 CSS 定位元素(position为relative、absolute、fixed)或 td、th、table、body 元素
    • elem.offsetParent:最接近的 CSS 定位的祖先
    • elem.offsetLeft/offsetTop:相对于 offsetParent 的左上角边缘的坐标
  • 相对于视口:

    • elem.getBoundingClientRect():获取元素的定位矩阵 elemRect
    • elem.getBoundingClientRect().left/top/right/bottom:表示元素盒子(含边框)四角到视口左或上边的距离
    • elem.getBoundingClientRect().width/height与elem.offsetWidth/offsetHeight等效,盒子的宽高
  • 相对于文档:没有直接获取的方式,但可以通过相对于视口+滚动距离简单计算

    • 盒子上方相对于到文档的距离:elem.scrollTop + elem.getBoundingClientRect().top
    • 盒子左边到文档的距离:elem.scrollLeft + elem.getBoundingClientRect().left

元素盒子的尺寸也有多种情况,需要考虑边框、内边距、是否为标准盒子模型、甚至是否有滚动条

  • elem.offsetWidth/offsetHeight或者elem.getBoundingClientRect().width/height:都可以获取含边框的宽高
  • elem.clientLeft/clientTop:从元素左上角外角到左上角内角的距离,如果存在滚动条,也包含滚动条的宽度(补充:一般来说,上边框和左边框是常用的,如果四条边框宽度不一,可以通过getComputedStyle(elem).borderRight获取,这是含单位的字符串)
  • elem.clientWidth/clientHeight:内容的宽高,包含padding,但不包含滚动条
  • 内边距问题与盒子类型:在涉及内边距的时候,需要 getComputedStyle(elem) 方法获取,并且需要考虑是否为标准盒子

区分:在没有内容溢出发生滚动时,clientWidth/Height 与 scrollWidth/Height 等效;存在滚动时,前者是盒子的可视内容大小,后者是内容的大小,包括需要滚动查看的部分

在这里插入图片描述

现代JavaScript教程:元素大小与滚动

现代JavaScript教程:坐标

修改文档

DOM操作中,经常需要修改文档结果或内容,这类操作涉及节点的插入、移除、替换等

插入节点

插入节点可以分为以下三步:

1)创建一个节点

  • 创建一个元素节点:let elem = document.createElement(tagName)
  • 创建一个文本节点:let text = document.createTextNode(data)
  • 从已有节点克隆:let dupNode = node.cloneNode(deep),deep 为 true表示深拷贝,默认为false

2)编辑节点的属性和内容

3)把节点插入文档树中

  • 传统方式:在父节点上执行对节点的插入

    • parentNode.appendChild(node):node 作为最后一个子节点插入
    • parentNode.insertBefore(node, nextSibling):在 nextSibling 之前插入node
  • 现代方式:实现多位置插入,可以在父节点或兄弟节点上执行插入。参数的形式说明它们支持一次插入多个,并且字符串会作为文本节点插入

    • parentNode.prepend(...nodes or strings):在第一个子节点之前插入
    • parentNode.append(...nodes or strings):在最后一个子节点之后插入
    • nextSibling.before(...nodes or strings):在本节点之前同级插入
    • previousSibling.after(...nodes or strings):在本节点之后同级插入

如果我们希望直接描述节点的插入 HTML 代码段,可以使用elem.innerHTML属性,或者使用elem.insertAdjacentHTML(position, html)进行插入,其中,position 的可选值有:

在这里插入图片描述

区分:节点对象存在 不同于 节点在文档树中

1)创建节点对象只是在内存中创建了一个对象实例,不会对文档树的结构产生任何影响。对该节点进行的操作,都只是对该对象自身属性和方法的修改,不会在页面上产生任何可见的效果,因为浏览器只渲染文档树中的节点

2)只有当节点被插入到文档树后,它才会成为文档结构的一部分,浏览器会根据其在文档树中的位置和相关属性来渲染该节点,使其在页面上显示出来,并且可以响应用户的交互操作等

移除节点

从文档树中移除更加简单:

1)找到需要移除的节点

2)node.remove():移除节点,但 IE 不兼容,需要使用传统方式,获取其父节点,在父节点上移除子节点:node.parentNode.removeChild(node)

替换节点

与移除类似,使用node.replaceWith(... Nodes or strings),同样 IE 使用parentNode.replaceChild(newNode, node)

javascript的dom操作 DOM(文档对象模型)中的CSS选择器是用于选择HTML文档中的元素的一种模式。它们是CSS的一部分,但也可以在JavaScript中使用,以便对选定的元素应用样式或者进行其他操作。这些选择器可以单独使用,也可以组合使用,以创建更复杂的选择规则,从而精确地选择页面上的特定元素。在JavaScript中,可以使用。方法来使用CSS选择器选择元素。 阅读详情

相关推荐

基于Python爬虫的新闻热点分析与挖掘

本文介绍了基于Python爬虫的新闻热点分析与挖掘方法,主要包括数据收集、预处理、热点分析和可视化四个部分。首先通过爬虫抓取新浪新闻数据,利用文本清洗和存储技术进行数据预处理;接着采用TF-IDF和LDA算法进行关键词提取与主题建模;最后通过词云图和主题分布图实现数据可视化。该方法能有效识别新闻热点,为信息筛选和决策提供支持。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1546

DOM(一)概述、dom树、查找元素

JavaScript DOM:DOM概述、查找元素4种方式、购物车案例。

商务合作 | 共同学习 | 携手共进 2万+

基于gem5模拟trace的cache模拟器的实现

在做计算机体系结构的时候,模拟器是一个重要且又有效的工具。其中gem5集成了gem和m5的优点,使用起来比较简单和方便。其中包括了se模式和fs模式,se模式是在gem5运行我们已经编译好的程序,可以获取cache,cpu状态等数据,fs模式下可以模拟操作系统,我们可以将我们自己修改的linux内核加载到哥们上运行。下面介绍了使用gem5的se模式,运行编译好的ARM可执行文件。获取访存的trac

gaoxiang的专栏 8893

Dom树 CSS树 渲染树(render树) 规则、原理

  前端不可不学的浏览器渲染机制,阿里年年问,去一个栽一个。听说百度也在考这个,你还不准备学吗? 首先你要了解浏览器渲染的顺序:   1.构建dom 树   2.构建css 树   3.构建渲染树   4.节点布局   5.页面渲染 什么是dom 树?   浏览器将HTML解析成树形的数据结构,简称DOM。   DOM 是文档对象模型 (Document Object Model) 的缩写。它是 HTML 文档的对象表示,同时也是外部内容(例如 JavaScript)与 HTML 元素之间的接口。 解析树

weixin_45820444的博客 2万+

运动目标成像必学:5分钟搞懂keystone变换原理与避坑指南

本文深入浅出地解析了雷达信号处理中的Keystone变换原理,它是解决运动目标距离徙动问题的关键技术。文章通过直观比喻和简化公式,阐述了该变换如何通过变量代换实现距离与慢时间的解耦合,将倾斜轨迹“掰直”,从而提升成像与检测性能。同时,文中重点指出了实际应用中关于大速度场景、插值误差、多目标处理及高阶运动补偿等关键避坑点,为工程实践提供了宝贵指南。

ios99的博客 403

Android以太网开关流程分析

Android以太网开关流程分析 一、引言   在Android 以太网服务启动流程中我们启动了EthernetService(ES),NetworkManagementService(NMS)等服务,其中ES作为Binder的服务端,向客户端EthernetManger提供了调用接口的引用。因此,应用可以通过EthernetManger来访问以太网的相关接口。本篇文章将从APP调用以太网的使能和关闭的接口流程作为切入点来分析,以太网框架中,上层app是如何将指令传递到底层。图1-1所示为以太网使能和关闭

franc521的博客 6114

什么是DOM树

Dom document object model 文档对象模型 它可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构 在介绍 DOM 树之前,首先要清楚,DOM 规范中,对于文档的表示方法并没有任何限制,因此,DOM 树只是多种文档结构中的一种较为普遍的实现方式。 DOM结构构成的基本要素主要为节点,而文档的结构就是由层次化的节点组成。 DOM模型中节点的概念很广泛,比如整个文档就是一个节点,称为文档节点。 除此之外,还有元素节点,属性节点,注释节点等。 了解了 DOM 的结

jidanguanbing1的博客 4275

BSW: Dcm模块配置--28服务

这个章节讲解下UDS中的28服务(Communcation Control)的配置,顾名思义,对当前ECU的通讯状态进行变更,主要设置应用报文,网络管理报文的收发控制,通常应用在刷写APP软件时,降低总线负载。这里首先要提醒的一点是,28服务几乎不需要手写代码,只有在客户需求要求前置条件不满足时报特定NRC时才需要填充代码。实际配置中主要涉及的模块有DCM,BSWM,ComM,RTE.2.BswM模块的配置。3.ComM模块的配置。1.DCM模块的配置。

Forever_Oct的博客 3086

DOM结构(DOM树)

DOM 文档类型DOM(Document Object Model)主要用于HTML文档和XML文档的内容进行操作。DOM描绘了一个层次化的节点树,通过节点的操作,来实现对文档内容进行增删改查。 1.DOM(Document Object Model):文档对象模型 文档:HTML文档 文档对象:页面中的元素 文档对象模型:对象被组织在一个树形结构中,用来表示文档中对象的标准模型就叫DO...

侯阮悦的博客 7973

具身智能与空天具身智能:从理论到实践的跨领域融合

本文深入探讨了具身智能从理论到实践的发展,重点分析了空天具身智能这一前沿领域。文章阐述了如何为AI赋予“身体”,使其通过与环境实时交互进化智能,并详细拆解了构建空天智能体所需的核心技术模块,包括多模态感知、基于大模型的决策规划以及鲁棒控制。同时,结合山区电力线自主巡检等实战案例,展望了多智能体协同与标准化等未来方向。

weixin_29045585的博客 534

CCP消息格式

CCP消息格式 CCP协议的实现只依赖于两则CAN消息CRO(Command Receive Object)和DTO(Data Transmission Object),CCP消息统一采用8字节数据场,所有命令参数以及数据都被打包在8字节的数据场中。 1、CRO(命令接收对象) CRO是主设备向从设备发送的消息对象,包括命令代码及命令参数,结构如下: CCP一共28条命令,所以命令代码有28个。...

wsq119的博客 1206

DOM操作

1.点击事件需求: 每点击一次按钮 弹出hello…<input type="button" value="按钮" onclick="fn1()"><input type="button" value="另一个按钮" id="btn"><script>//当点击的时候要调用的函数alert("我被点击了...")//给另外一个按钮,绑定点击事件://1.先根据id获取标签//2. 设置btn的onclick属性(绑定事件)//绑定命名函数//绑定匿名函数。

F-T-er 1169

ROS Motion Planning运动规划库安装方法及进阶使用方法详细介绍

​今天偶然发现了一个优质的运动规划库:ai-winter/ros_motion_planning,比较适合从事ROS移动机器人运动规划研究领域的小伙伴学习和使用,相比于莱斯大学Kavraki实验室提供的开源的著名运动规划库OMPL、或着我之前介绍过的zhm-real开源的zhm-real/MotionPlanning和zhm-real/PathPlanning运动规划库,今天介绍的ROS Motion Planning运动规划库与ROS机器人中常用的Navigation导航框架的兼容性更好,库中的运动规划

慕羽★的博客 5578

DOM是什么?含12种DOM节点类型概述

百度

qing_tong_tong的博客 4395

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

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

什么是DOM及DOM操作?

什么是 DOM ? DOM(文档对象模型)是针对于xml但是扩展用于HTML的应用程序编程接口,定义了访问和操作HTML的文档的标准。 W3C文档对象模型是中立于平台和语言之间的接口,它允许程序和脚本动态的访问和更新文档的内容、结构、样式。总之HTML是关于如何获取、修改、添加和删除HTML元素的标准。 DOM 分层节点 DOM的分层节点一般被称作是DOM树,树中的所有节点都可以通过脚本语言例如J...

W Y L 2243

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【JavaScript】DOM操作与事件

期待您的一键三连!欢迎指正!

Guiat的博客 691

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JavaScript-dom节点操作

dom节点操作js 操作dom节点什么是dom过程DOM数--所有的东西都是节点节点的类型---nodeType节点的查找节点的创建节点关系子节点关系父节点关系兄弟节点关系节点的操作增删改复制插入获取节点rect js 操作dom节点 什么是dom DOM:文档对象模型。DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。目的其实就是为了能让js操作html元素而制定的一个规范。 过程 HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树,getElementById是

莫莫 677

JavaScript 中 DOM 操作深度解析

在当今数字化的时代,Web 应用程序已经成为人们生活和工作中不可或缺的一部分。而 JavaScript 作为 Web 开发的核心语言之一,其强大的功能和灵活性使得开发者能够创建出交互性丰富、动态性十足的网页。其中,DOM(Document Object Model,文档对象模型)操作是 JavaScript 在 Web 开发中最为重要的应用之一。

candy的博客 1176

html dom概念,DOM-概念

# DOM操作## 1. DOM是什么* `DOM`是文档对象模型(Document Object Model)的简称* `Document`: 指`html/xml`等结构性的文档* `Object`: 指文档以及它内部的节点* `Model`: 指文档中节点的组织形式(`tree`)* `DOM`基本思想是把结构化的文档解析成一系列的节点,再由这些节点组成一个树状结构* 这个树状结构,就是大家...

weixin_28890693的博客 221

js操作DOM

DOM 本质: 浏览器把拿到的html代码,结构化一个浏览器能识别并且js可操作性的一个模型而已 ①获取DOM节点 var div1=document.getElementById(‘div1’);//元素 var divList=document.getElementsByTagName(‘div’); //集合 console.log(divList.length) console.log(divList[0]) var containerList=document.getElementsB

田兴的博客 4620

JS 详细DOM操作

JS 详细DOM操作

peipei11202的博客 875

常见的DOM操作有哪些

这里是修真院前端小课堂,本篇分析的主题是 【常见的DOM操作有哪些】   这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能,本篇分享的是: 【常见的DOM操作有哪些】 1.背景介绍        &...

杨欢博的博客 685

[妙味DOM]第一课:DOM基础概念、操作

知识点总结 childNodes、children子节点列表集合、nodeType节点类型、nodeName、nodeValue、attributes属性列表集合 childNodes和children都只包含子节点,不包含孙节点。 区别: childNodes-- 标准下:包含元素和文本节点,也会包含非...

weixin_30814329的博客 111

【JavaScript】DOM树与DOM对象详解

DOM,全称为Document Object Model,中文称为文档对象模型,是一种用于表示HTML、XML文档的编程接口。它将网页结构映射为可编程的对象,开发者通过DOM接口可以动态地修改网页的内容、样式、结构,从而实现动态的网页效果。DOM是平台无关的,它并不依赖于某种特定的编程语言。现代的Web浏览器提供了对DOM的原生支持,使得JavaScript能够轻松与网页交互。DOM树是文档结构的可视化表示,文档的每一个部分都被视作一个节点。DOM树的根节点通常是文档的根元素,例如HTML文档的。

lph159的博客 1525

js DOM的概念及子节点类型

DOM:Document Object Model 文档对象模型 文档:html页面 文档对象:页面中元素 文档对象模型:定义为了能够让程序(js)去操作页面中的元素   DOM会把文档看作是一棵树,同时定义了很多方法来操作这棵树中的每一个元素(节点) 元素.childNodes:只读 属性 子节点列表集合 只包含一级子节点,不包含后辈孙级以下节点 DOM节点的类型有很多种 12种...

qq_35187942的博客 555

Javascript中常用的DOM操作

JavaScript之DOM操作 DOM DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作html文档的应用编程接口: 对于JavaScript,为了能够使JavaScript操作Html,JavaScript就有了一套自己的dom编程接口。 对于Html,dom使得html形成一棵dom树,类似于一颗家族树一样,一层接一层,子子孙孙。 DOM树 html标签通过浏览器的解析后才会形成dom树,此后HTML中的每个标签元素,属性,文本都能看做是一个DOM的

华夏天骄 251
上一篇: JavaScript基础 -- 函数
下一篇: vue3.2.37源码调试步骤
ZoeLandia
博客等级 码龄6年 734粉丝 183原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值