首页 > 其他分享 >DOM

DOM

时间:2022-10-23 15:56:52浏览次数:44  
标签:DOM 包含 获取 元素 空白 节点

一.DOM的概念及作用

DOM是”Document Object Model”的首字母缩写,即文档对象模型。用来描绘一个层次化的节点树,允许开发人员获取、添加、移除和修改页面的某一部分元素。

二.DOM的基本操作

查询(获取元素)

方法名称 功能
getElementById() 获取特定 ID 元素的节点--最优
getElementsByTagName() 获取相同元素的节点列表,返回类数组,使用[0]来获取
getElementsByClassName() 获取相同类名的节点列表(IE8及以下不支持),返回类数组
querySelector() 通过选择器获取元素,如果获取多个只返回第一个。
querySelectorAll() 通过选择器获取元素,可同时获取多个元素,类数组。

创建、添加、删除、克隆、替换

方法名称 功能
document.createElement(元素节点) 创建一个元素节点,参数是创建的元素。
父节点.appendChild(子节点) 把子节点插入到父节点的内部最后的位置
父节点.insertBefore(新的节点,存在节点) 在父节点内,把新的元素节点插入到已经存在的元素节点的前面
父节点.removeChild(子节点) 删除父节点内部的子节点 remove
obj.cloneNode( true) 克隆(复制)obj节点,可以传一个布尔值为参数,如果参数为true,连同obj子元素一起克隆
父节点.replaceChild(新添加的节点 , 被替换的节点) 替换子节点

三.自定义属性及getAttribute等方法

getAttribute() 获取特定元素节点属性的值,某些低版本浏览器不支持

setAttribute() 设置特定元素节点属性的值,某些低版本浏览器不支持

removeAttribute() 移除特定元素节点属性,某些低版本浏览器不支持

四.outerHTML/innerHTML/innerText

innerHTML:读写元素节点里的内容(包括元素),从节点起始位置到终止位置全部内容,包括内部的元素。

outerHTML:读写元素节点里的内容(包括元素),除了包含innerHTML全部内容外, 还包含元素节点本身。

innerText:读写某个元素节点的文本内容。

五.读写css样式的值

1.获取css属性值:仅仅用来读取,没有单位。

offsetWidth、offsetHeight:盒模型的尺寸

offsetLeft、offsetTop:元素相对可视区的位置,无论是否有定位。

offsetParent :定位父级

2.获取任意的css属性值

getComputedStyle - 标准

六.DOM元素类型

节点可以分为元素节点、属性节点和文本节点...,他们分别用不同的数字代表类型。

例如:元素(1) 属性(2) 文本(3) 注释(8)

每个节点又有三个非常有用的属性,分别为:nodeName、nodeType、nodeValue

七.childNodes节点的集合

childNodes 获取当前元素节点的所有子节点,这里面包含空白节点,但在IE9之前,IE浏览器会自动忽略空白

节点.

childNodes与children的区别

children不考虑空白节点,而childNodes考虑空白节点,而且它们都是类数组。

八.节点的高级选取 - 了解

高级选取:第一个子节点,最后一个子节点,上一个兄弟节点,下一个兄弟节点(包含空白和不包含空白等分成8个属性)

firstChild:第一个子节点(包含空白)

firstElementChild:第一个子节点(不包含包含空白)

previousSibling:上一个兄弟节点(包含包含空白)

previousElementSibling:上一个兄弟节点(不包含包含空白)

......

document 获取document对象

document.documentElement 获取的html标签元素

document.title 获取title标题元素

document.body 获取body标题元素

parentNode 获取当前节点的父节点

九.文档碎片(createDocumentFragment)

文档碎片在理论上可以提高DOM操作的执行效率,将要追加的dom操作先放置在文档碎片中,最后在追加给对应的元素

标签:DOM,包含,获取,元素,空白,节点
From: https://www.cnblogs.com/ld1936805253/p/16818723.html

相关文章

  • 关于在 computed 使用 ref 获取 dom 结点为 undefined的问题
           原因:因为ref本身是作为渲染结果被创建的,在初始渲染的时候你不能访问它们,它们还不存在computed里面无法获取到ref解决方法:方法一:da......
  • Random相关的
    官方释义:表示伪随机数生成器,这是一种能够产生满足某些随机性统计要求的数字序列的算法。(1)为什么叫做“伪随机数生成器”?Random本质上是利用一种算法,利用数学算法进行加密......
  • React基础篇——十、自定义DOM属性
    十、自定义DOM属性React16之前会忽略不是把的HTML和SVG属性,现在React会把不识别的属性传递给DOM。React16之前:<divcust-attr="someting"></div>会被渲染成:......
  • D. Problem with Random Tests
    D.ProblemwithRandomTestsYouaregivenastring$s$consistingof$n$characters.Eachcharacterof$s$iseither$0$or$1$.Asubstringof$s$isaconti......
  • java----util常用类,1字符串转日期,2格式化类Format,3Random,4MD5,5Base64
    util常用类1.字符串转日期1.1Date/CalendarStringdateStr="2020-01-0110:00:00";jdk1.8之前与时间日期相关的类型有2个 java.util.Date  java.util.Calen......
  • DOM 第一章 获取元素事件
    1.1.WebAPI介绍1.1.1API的概念API(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一......
  • Vue虚拟dom是如何被创建的
    先来看生成虚拟dom的入口文件:...import{parse}from'./parser/index'import{optimize}from'./optimizer'import{generate}from'./codegen/inde......
  • 多测师肖sir__web__java自动化__DOM
    DOM一、DOM作用通过可编程的对象模型,javascript 获得了足够的能力来改变html1、改变页面html元素2、改变页面html属性3、改变页面css样式,对页面中的所有事件做出反......
  • dom元素多出后横向滚动不换行
    元素高度一定,多了后不能增加高度,只能横向滚动用@media做媒体查询修改元素宽度能实现,但是屏幕放大,一些较为极端的情况下还是需要滚动<!--父元素样式--><divclass="f......
  • react-router-dom v6 使用
    react及相关版本:"react":"^18.2.0","react-dom":"^18.2.0","react-router":"^6.4.2","react-router-dom":"^6.4.2" 实现嵌套路由:目录结构: main.jsximpo......