【重学JS】巩固基础-day11-DOM文档对象模型

289 阅读3分钟

这是我参与8月更文挑战的第11天,活动详情查看:8月更文挑战

☆☆☆ 温故而知新! 今天学习巩固的内容(DOM-文档对象模型) 重要!! 今天依然要加油哟!! ☆☆☆

可作为初学者的学习路线, 可参考一下, 学习进度也不是特别赶! 持续更新,

用自己的理解, 简单又全面概括基础知识点, 大部分内容为白话文内容, 基础中的基础 方便加深理解!

巩固学习 JavaScript 基础知识, 加深理解记忆, 打牢地基才能筑高楼! 加油

开始今天的学习吧! 认真对待!!

1、梳理昨天学习知识点

  • BOM 模型(浏览器对象模型) :

    locationhistory event documentscreennavigator window

  • window 对象有哪些常见方法 :

    alert   prompt confirm setInterval   setTimeout open("url","","外观")   close

  • location : 页面跳转

    location.href = url

    assign()  replace()

  • document 查找页面元素的方式 :

    对元素操作

    • 样式操作   .style.样式   .style.cssText   .className
    • 属性操作
    • 内容操作

    valueinnerHTML、   innerText

2、DOM  document  object model   文档对象模型

2.1 节点 : 

htmldom 根节点

  • 所有的 html 元素都叫做元素节点
  • 所有元素节点的属性 叫做属性节点    比如 : src 属性
  • 所有元素节点的内容 叫做文本节点    比如 : <p>文本节点</p>
  • 一切都是节点

2.2 节点关系(属性,通过这些节点关系属性   找到相关元素) :

父节点 : parentNode

  • 第一个孩子节点:  firstElementChild(没有 Element 表示兼容 IE firstChild)

  • 最后孩子节点 :  lastElementChild

  • 前一个兄弟节点 : previousElementSibling

  • 后一个兄弟节点 : nextElementSibling

  • 孩子节点 :

    • children
    • childNodes

tagNamenodeName 获取标签名

2.3 区分节点类型属性 nodeType

值有三种情况

            nodeType 值
    元素节点      1
    文本节点      3
    属性节点      2

3、节点的动态操作  (创建     添加     删除)

创建     添加     删除

3.1 创建 : 

document.createElement()   创建元素节点

document.createTextNode();   创建文本节点(了解)

注意 : 动态创建的元素   添加事件时, 事件添加在动态创建元素之后(在同一个函数体内部 )

也可以通过委托实现

3.2 添加:   appendChild():

用法 :   父节点.appendChild(要添加的节点)

insertBefore()

用法:

父节点.insertBefore( 要添加的子节点 , 参照节点 )

如果参照节点为 null , 默认是 同 appendChild 效果   追加

一定要写满两个参数

3.3 删除 : removeChild()   或 remove()

  • 父节点.removeChild( 要删除的元素 )

  • 要删除的元素.remove()

4、节点克隆

cloneNode( )

如果有参数 true, 表示即克隆元素本身,又克隆内容     深克隆

如果不加参数 true , 只克隆元素本身               浅克隆

5、文档碎片 :

相当于 计算机 缓存 ,

  • 作用 : 提高程序的执行效率

document.createDocumentFragment()


面试题 :

请准确编写这样一个函数:

该函数接受两个参数,第一个参数为一个 DOM 元素,第二个参数为一个正整数, 要求第二个参数传入的数字是几,就向 DOM 元素上挂载几个<div>hello world</div>标签,实现过程中,请考虑 JS 性能优化。

  function fn( ele , m ){...}

6、节点属性动态操作

getAttribute()  

可以获取自定义和固有 属性值

obj.getAttribute(“属性名”)

setAttribute()

设置属性

obj.setAttribute("属性",“值”)

预告: 加油, 追梦人

学习就是一个不断进行的过程, 坚持下去, 定有收获!

日积月累, 巩固基础, 早进大厂!

坚持很不容易, 坚持下来更不容易, 你真棒!

Calm Down & Carry On!

更多阅读:

前文更新回顾

【重学 JS】每天学习巩固基础:

【day1】js 初始

【day2】各种运算符

【day3】数据类型

【day4】循环结构 & 条件语句

【day5】函数(重点)

【day6】作用域 & 事件

【day7】对象 & 数组方法总结

【day8】字符串方法 & 部分排序

【day9】Math 对象 & 封装函数

【day10】BOM-浏览器对象模型

更多期待再路上...任重而道远