首页 > 编程语言 >Javascript进阶笔记 - DOM模型与节点

Javascript进阶笔记 - DOM模型与节点

时间:2022-11-02 03:44:32浏览次数:49  
标签:Javascript 进阶 DOM 元素 获取 HTML 文档 节点 属性

DOM模型与节点

目录

1. DOM模型

  • DOM(文档对象模型)就是把文档中的标签,属性,文本转换成对象来管理(类似于Java中的对象)

    • document管理了所有的HTML文档内容
    • document是一种树结构的文档,有层级关系
    • document让我们把所有的标签都对象化
    • 我们可以通过document访问所有的标签对象
  • 对于一段代码来说,它的Document文档树内存结构可能如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <title>Title</title>
    </head>
    <body>
    <a href="https://www.baidu.com/">我的连接</a>
    <h1>我的标题</h1>>
    </body>
    </html>
    
    <!--
    根元素:<html>
    	元素:<head>
    		元素:<title>
    			文本:"文档标题"
    	元素:<body>
    		元素:<a>
    			属性:href
    			文本:"我的连接"
    		元素:<h1>
    			文本:"我的标题"
    -->
    

2. 节点

  • 节点(Node)是构成HTML文档最基本的单元

  • 节点分为四类:

    • 文档节点:整个HTML文档
    • 元素节点:HTML文档中的HTML标签
    • 属性节点:元素的属性
    • 文本节点:HTML标签中的文本内容
    <p id="pId">This is a paragraph</p>
    <!--
    id="pId"为属性节点
    This is a paragraph为文本节点
    <p id="pId">This is a paragraph</p>为元素节点
    整个HTML文档为文档节点
    -->
    
  • 节点的属性

    有时候根据需要,会获取节点的Name属性,而有时候会获取Value属性

    nodeName nodeValue
    文档节点 #document null
    元素节点 标签名 null
    属性节点 属性名 属性值
    文本节点 #text 文本内容

2.1 节点的常用方法

childNodes:获取当前节点的所有子节点

  • childNodes属性会获取包括文本节点在内的所有节点。也就是说标签之间的空白/换行也会算做节点
  • (推荐) children属性可以获取当前元素的所有子元素

firstChild:获取当前节点的第一个子节点

  • 存在和childNodes类似的问题
  • (推荐) firstElementChild属性可以获取当前元素的第一个子元素

lastChild:获取当前节点的最后一个子节点

  • 存在和childNodes类似的问题
  • (推荐) lastElementChild属性可以获取当前元素的最后一个子元素

parentNode:获取当前节点的父节点

nextSibling:获取当前节点的下一个节点

  • 存在和childNodes类似的问题
  • (推荐) nextElementSibling属性可以获取当前元素的下一个兄弟元素

previousSlibling:获取当前节点的上一个节点

  • 存在和childNodes类似的问题
  • (推荐) previousElementSibling属性可以获取当前元素的上一个兄弟元素

标签:Javascript,进阶,DOM,元素,获取,HTML,文档,节点,属性
From: https://www.cnblogs.com/Solitary-Rhyme/p/16849741.html

相关文章

  • Javascript进阶笔记 - DOM的增删改查
    DOM的增删改查目录DOM的增删改查1.DOM查询1.1常规DOM查询方法1.2通过CSS选择器查找HTML元素1.3通过HTML对象选择器查找HTML对象2.DOM元素的增添3.DOM元素的修改......
  • Javascript进阶笔记 - DOM操作CSS样式
    DOM操作CSS样式目录DOM操作CSS样式1.操作样式2.获取当前样式3.其它样式相关属性1.操作样式可以通过JS修改元素的内联样式语法:元素.style.样式名=样式值注意:......
  • JavaScript笔记 - 字符串常用方法
    字符串目录字符串1.字符串搜索indexOf()search()match()includes()startsWith()2.字符串提取slice()substring()substr()charAt()charCodeAt()split()3.字符串替换repl......
  • Javascript笔记 - JS中的数字
    数字目录数字1.精度2.数字方法3.把变量转换为数值1.精度整数在不使用指数或科学计数法的情况下,会被精确到15位varx=999999999999999;//x将是9999999999......
  • JavaScript笔记 - 正则表达式
    正则表达式目录正则表达式1.正则表达式语法1.1方括号1.2量词1.3元字符2.RegExp对象属性3.RegExp对象方法4.支持正则表达式的String对象的方法1.正则表达式语法......
  • javascript异步编程之generator(生成器函数)与asnyc/await语法糖
    Generator异步方案相比于传统回调函数的方式处理异步调用,​​Promise​​最大的优势就是可以链式调用解决回调嵌套的问题。但是这样写依然会有大量的回调函数,虽然他们之间......
  • javascript异步编程之generator(生成器函数)与asnyc/await语法糖
    Generator异步方案相比于传统回调函数的方式处理异步调用,Promise最大的优势就是可以链式调用解决回调嵌套的问题。但是这样写依然会有大量的回调函数,虽然他们之间没有嵌......
  • day06-JavaScript03
    JavaScript0311.DOM官方文档:https://www.w3school.com.cn/js/js_htmldom.asp基本介绍:DOM全称是DocumentObjectModel,文档对象模型。当网页被加载时,浏览器会......
  • [ARC108E] Random IS
    仔细观察容易想到设\(f_{l,r,x,y}\)表示限制了区间\([l,r]\)种只能取\([x,y]\)中的数期望取多少个,看一下转移发下可能对最终答案有贡献的\([x,y]\)只可能是\([p_{......
  • JavaScript重要知识点整理
    (一)JavaScript简介(二)语法基础(三)流程控制(四)初识函数(补充)对象(五)字符串对象(六)数组对象(七)时间对象(八)数学对象(九)DOM基础(十)DOM进阶(十一)事件基础(十二)事件进阶(十三)window对象(十四)docu......