DOM 学习

DOM文档对象模型


DOM(Document Object Model): 文档对象模型
其实就是操作 html 中的标签的一些能力


 我们可以操作哪些内容
  - 获取一个元素
  - 移除一个元素
  - 创建一个元素
  - 向页面里面添加一个元素
  - 给元素绑定一些事件
  - 获取元素的属性
  - 给元素添加一些 css 样式
  - ...
DOM 的核心对象就是 docuemnt 对象
document 对象是浏览器内置的一个对象,里面存储着专门用来操作元素的各种方法
DOM: 页面中的标签,我们通过 js 获取到以后,就把这个对象叫做 DOM 对象

document对象 


  • document对象属性

属性                  说明
title                文档标题,即title标签内容
URL                文档地址
fileCreateDate   文档创建日期
fileModifiedDate  文档修改时间(精确到天)
lastModified      文档修改时间(精确到秒)
fileSize           文档大小
fgColor            定义文档的前景色
bgColor           定义文档的背景色
linkColor         定义“未访问”的超链接颜色
alinkColor        定义“被激活”的超链接颜色
vlinkColor        定义“访问过”的超链接颜色 

  • document对象方法

方法                                说明
document.write()                    输入文本到当前打开的文档
document.writeIn()                  输入文本到当前打开的文档,并添加换行符“\n”

获取html元素


方法

        1.获取标签元素的方法

                getElementById('title')

                        通过Id获取

                getElementsByClassName()

                        通过类名

                getElementsByTagName()

                        标签名

                getElementsByName

        2. querySelector 和 querySelectorAll

                querySelector()

                        css选择器

                        2.1 基本选择器

                                id class 标签

                        2.2 层级选择器

                                子代选择器 后代选择器

                                M > N         M N

                                兄弟选择器

                                M ~ N         M + n

                        2.3 伪类选择器

                                M N:nth-child(n)

                        2.4 属性选择器

                                input[name]

                                input[name='username']

操作元素内容 


1.获取标签元素

        getElement系列

                getElementById

                getElementByClassName

                getElementByTagName

                getElementByName

        querySelector系列

                querySelector

                        只返回一个元素

                querySelectorAll

                        返回所有元素存储在类数组中

2.类数组和数组Array区别

        1. 类数组不能使用Array的常用方法

                push         pop

        2. 类数组可以遍历,可使用[ ]访问元素

3.操作内容

        var h2Ele = document.querySelector(' #title ')

        h2Ele.innerHTML  //  获取内容

        h2Ele.innerHTML = ' 新内容 '  //  设置内容

        innerText  设置内容

        innerText  和  innerHTML  区别:

                1.innerText  以纯文本形式显示

                        <h3>innerText设置的内容</h3>

                        <h3>标签不会被解析

        value  表单元素内容

        <input  type = ' text '/>

        操作非表单元素  innerText  和  innerHTML

        操作表单元素  value

操作样式 


使用js代码动态操作样式

        1.行间样式  style

                element.style.样式名 = 样式值

        2.类样式

                element.className = 类名

                        注:后面的类名会覆盖前面的类名

                element.classList.add(类名1)

                element.classList.add(类名2)

                        ' 类名1  类名2 '

                获取非行间样式

                        window.getComputedStyle(元素).样式名

                                        =>样式值

操作属性 


js代码动态获取属性值或设置属性

        1.获取属性值

                element.getAttribute('属性名')

                        =>属性值

                element.属性        必须是本身拥有的属性

                        =>属性值

        2.设置属性

                element.setAttribute('属性名','属性值')

                element.属性名 = 属性值

        3.删除属性

                element.removeAttribute('属性名')

        4.自定义属性

                data-属性名(虽然不是规定,但大部分都是这么写的,算是默认的吧)

                        element.dataset.属性名

                                =>属性值

DOM节点对象 


从dom角度,整个html文档就是一个对象(document文档对象),文档中每个标签元素,以及元素的内容、属性、样式都是节点对象

节点对象分类

        常用(元素节点        文本节点        属性节点)        document文档节点  注释节点

html文档结构

        树形结构

节点关系

        父子关系        兄弟关系

获取节点 


节点分类

        元素节点        文本节点        属性节点

获取节点对象

        节点系列

                getElement系列

                querySelector系列

        层次结构

                父节点        ->  所有子节点        childNodes

                                   ->  firstChild

                                   ->  lastChild

                                   ->  元素子节点        children

                                   ->  firstElementChild

                                   ->  lastElementChild

                兄弟            ->  nextElementSibling(下一个节点)

                                   ->  previousElementSibling(上一个节点)

                                   ->  parentElement(获取当前节点的父节点)

                非常规节点        ->  document.documentElement(获取html根节点)

                                          ->  document.body(获取body节点)

                                          ->  document.head(获取head节点)

动态操作dom节点 


创建dom节点

        document.createElement(' div ')  //  <div></div>

        document.createTextNode(' 元素一 ')  // 文本节点

添加dom节点

        appendChild:是向一个元素节点末尾追加一个节点

                父节点.appendChild(子节点)

        insertBefore:向某一个节点前插入一个节点

                父节点.insertBefore(要插入的节点,插入在哪一个节点的前面)

删除节点

        父节点.removeChild(字节点)

        节点.remove()

替换节点

        父节点.replaceChild(新节点,原节点)

克隆节点

        节点.cloneNode(true|false)

                true:复制节点包含节点下所有子节点

                false:复制当前节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于学习 JavaScript DOM(文档对象模型),你可以按照以下步骤进行: 1. 先了解什么是DOMDOM 是一种对 HTML 和 XML 文档的编程接口,它将文档解析成由节点和对象(如元素、属性和文本)组成的结构,开发者可以使用 DOM 提供的方法和属性来操作和修改这些节点和对象。 2. 学习基本的 JavaScript:在学习 DOM 之前,你需要对基本的 JavaScript 语法和概念有一定的了解。你可以从 W3Schools 或 MDN 网站上找到一些入门教程和资料。 3. 熟悉 DOM 的基本操作:掌握如何使用 JavaScript 来访问和操作 DOM 元素是学习 DOM 的关键。你可以学习如何通过 JavaScript 获取元素、修改元素内容、添加或删除元素等操作。 4. 掌握事件处理:了解如何使用 JavaScript 来处理用户的交互事件,例如点击按钮、提交表单等。你可以学习如何注册事件处理函数,并在事件发生时执行相应的操作。 5. 深入学习 DOM API:DOM API 提供了许多方法和属性,可以帮助你更高效地操作 DOM学习这些 API 的用法,例如查询选择器、遍历节点树、修改样式等,可以提升你在开发中的效率。 6. 实践项目:通过实践项目来巩固所学的知识。你可以尝试创建一些简单的交互式网页,使用 JavaScriptDOM API 实现一些功能,如表单验证、动态内容更新等。 记住,在学习过程中不断练习和实践是非常重要的。还有许多在线资源和教程可供参考,你可以根据自己的需求和学习风格选择适合自己的学习材料。祝你学习愉快!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值