js DOM模型常用方法复盘梳理

        大家好,我是资深前端之路,今天主要是在对常用的js基础知识进行复盘,回顾下最基础的知识,不断打地基。今天主要回顾的知识是以下几个内容:

1、什么是DOM

        定义:文档对象模型,操作html标签的能力,其中document是Dom的内置的对象,所以又称为dom对象。

2、获取元素

        id获取:document.getElementById;当获取到是返回值是一个对象;未获取到返回null。

        class获取:document.getElementsByClassName。返回值是一个空的对象,以及长度。注意改获取方式返回的是多个对象。

        选择器获取:document.querySelector。返回值是一个对象,如果不存在,返回null。 

        标签获取:document.getElementsByTagName 。返回值是一个空的对象,以及长度。注意改获取方式返回的是多个对象。

3、操作元素

        操作属性

        setAttribute:设置元素的属性值。setAttribute(属性名,属性值)。如果该属性不存在,会新增一个同名属性。

        removeAttribute:移除属性。removeAttribute(属性名)。

        dataset:代表对象上的data-属性。主要的特点是直观,方便。

        delete:来删除dataset属性,如 delete box.dataset.id。

        操作文本

        innerHTML:获取对象的子级html内容,在赋值值也可以设置到标签内容。

        innerText:获取对象的子级的所有文本内容,不包含html标签。注意赋值时,也只能赋值到文本内容,不能修改标签。

        value:只有标签标签内部有value。同时可以读取和赋值。

        操作样式

        style:结尾为.号时,只能获取行内样式,css中的样式获取不到。其它的样式可以用[]中括号加属性名,再或者使用驼峰写法来获取。如box.style.backgroundColor。

        getComputedStyle:获取指定对象节点所有的样式。getComputedStyle("#id"),注意使用时有版本兼容性问题。尽量少用。

        操作元素类名

        主要是用来批量的修改类名,修改整体的样式。

        className:设置类名。没有就添加一个类名,如果存在,就修改原来的类名。

        classList:设置类名。如果有相同的类名,会自动的去重。

        calssList.remove:移除类名,注意在使用时,需要一个个进行移除。

        toggle:判断样式是否存在,如果存在就切换,不如不存在就添加。

4、获取节点        

        dom节点一共分为三大类:元素节点、属性节点、文本节点。

        元素节点:标签对应的元素的html就是元素节点。

        属性节点:属性对应的节点。注意没有所谓的父子关系。

        文本节点:文本内容对应的的内容就是文本节点。通过innerText获取到的节点,包含换行和空格。

        document是根节点,html是根元素节点。

        注意:注释的内容也是一个节点,定义为注释节点,在文本中不显示出来。

        获取的方法:

        children:获取节点内所有的文本节点。

        childNodes:获取节点内的所有子元素节点。包含文本节点、元素节点、注释节点。

        firstChild:获取节点内第一个子文本节点。

        firstElementChild:获取节点内第一个子元素的元素节点。

        lastChild:获取节点内最后一个子文本节点。

        lastElementChild:获取节点内最后一个子元素节点。

        previousSibling:获取上一个兄弟文本节点。

        previousElementSibling:获取上一个兄弟元素节点。

        nextSibling:获取下一个兄弟文本节点。

        nextElementSibling:获取下一个兄弟元素节点。

        parentNode和parentElement:都是一样的获取的都是元素节点。

5、操作节点

        操作无非就是:增删改查(CRUD)。

        createElement:创建一个元素节点,createElement(标签名称)。

        appendChild:在节点内末尾追加一个节点。

        insertBefore:在节点前追加一个节点。insertBefore(插入的内容,插入的位置前面)。

        removeChild:移除一个节点的子元素节点,removeChild(删除的节点)。

        remove:删除自己,不仅仅删除子元素节点,也删除节点本身。

        replaceChild:替换子元素节点。

        cloneNode:克隆节点。cloneNode(是否克隆后代),默认为false,当传参数true时,就会克隆子元素文本。

 6、节点的属性

        dom节点分为三大类,各一个类都有个字的属性值,这个属性值可以看下表。

节点类型 nodeType nodeName nodeValue
元素节点 1 大写标签名 null
属性节点 2 属性名 属性值
文本节点 3 #text 文本内容

   

7、归纳总结    

        今天主要回顾了什么是dom节点,dom节点的类型,如何修改不同类型的dom节点以及如何删除dom节点。整个逻辑分为dom是什么、dom如何使用运用两部分。以后还会整理更多关于js的基础知识,喜欢的朋友帮忙点赞+关注哟!  

相关推荐

  1. js DOM模型方法梳理

    2024-04-21 04:02:03       15 阅读
  2. ES6 新增功能梳理

    2024-04-21 04:02:03       13 阅读
  3. 设计模式

    2024-04-21 04:02:03       29 阅读
  4. 加速 PyTorch 模型预测常见方法梳理

    2024-04-21 04:02:03       18 阅读
  5. 理解/实验报告梳理 数据结构PTA实验二

    2024-04-21 04:02:03       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-21 04:02:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-21 04:02:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-21 04:02:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-21 04:02:03       18 阅读

热门阅读

  1. 信号塔(树形dp)

    2024-04-21 04:02:03       8 阅读
  2. Ocr识别

    2024-04-21 04:02:03       12 阅读
  3. 音视频、网络带宽等常用概念详解

    2024-04-21 04:02:03       12 阅读
  4. pytorch中模型训练的学习率动态调整

    2024-04-21 04:02:03       11 阅读
  5. web应用使用spring

    2024-04-21 04:02:03       16 阅读
  6. 2024.4.20力扣每日一题——组合总和

    2024-04-21 04:02:03       11 阅读
  7. 游戏中的伤害类型

    2024-04-21 04:02:03       11 阅读
  8. 正则表达式大全,30个正则表达式详细案例

    2024-04-21 04:02:03       17 阅读
  9. 上海计算机学会2023年12月月赛C++丙组T2移动复位

    2024-04-21 04:02:03       13 阅读
  10. 搭建vue3组件库(一):Monorepo项目搭建

    2024-04-21 04:02:03       16 阅读
  11. Docker常见命令学习

    2024-04-21 04:02:03       17 阅读