JS-DOM树和DOM对象

这篇具有很好参考价值的文章主要介绍了JS-DOM树和DOM对象。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作用和分类

作用:就是使用JS去操作html和浏览器

分类:DOM(文档对象模型)、BOM(浏览器对象模型)

JS-DOM树和DOM对象,JS,javascript,前端,html

什么是DOM

DOM(Document Object Model--文档对象模型)是用来呈现以及与任意HTML或XML文档交互的API

白话文:DOM是浏览器提供的一套专门用来操作网页内容的功能

DOM作用:开发网页内容特效和实现用户交互

DOM树

定义:将HTML文档以树状结构直观的表现出来,我们称之为文档树或DOM树,描述网页内容关系的名词

作用:文档树直观的体现了标签与标签之间的关系

JS-DOM树和DOM对象,JS,javascript,前端,html

DOM对象(重要)

DOM对象

浏览器根据html标签生成的JS对象

1)所有的标签属性都可以在这个对象上面找到

2)修改这个对象的属性会自动映射到标签身上

JS-DOM树和DOM对象,JS,javascript,前端,html

console.dir()//打印对象,获取的信息比较清晰

DOM的核心思想

把网页内容当作对象来处理

document对象

1)是DOM里提供的一个对象

2)所以它提供的属性和方法都是用来访问和操作网页内容的

3)网页所有内容都在document里面

获取DOM元素

根据css选择器来获取DOM元素(重点)

1.选择匹配的第一个元素

document.querySelector('css选择器')

参数:包含一个或多个有效的css选择器字符串

返回值:css选择器匹配的第一个元素,一个HTMLElement对象;如果没有匹配到,则返回null

可以直接操作修改

2.选择匹配的全部元素

document.querySelectorAll('css选择器')

参数:包含一个或多个有效的css选择器字符串

返回值:css选择器匹配的NodeList对象集合,得到的是一个伪数组

1)有长度有索引号的数组

2)但是没有pop()、push()等数组方法

不能直接修改,只能通过遍历(for)的方式一次给里面的元素做修改,类似数组方式获取

注意:哪怕只有一个元素,通过querySelectorAll()获取过来的也是一个伪数组,里面只有一个元素而已

其他获取DOM元素方法(了解)

//根据id获取一个元素
document.getElementById('id名')
//根据标签获取一类元素
document.getElementByTagName('标签名')
//根据类名获取一类元素
document.getElementByClassName('class名')

操作元素

操作元素内容

元素.innerText属性

将文本内容添加/更新到任意标签位置

显示纯文本,不解析标签

元素.innerHTML属性

将文本内容添加/更新到任意标签位置

会解析标签,多标签建议使用模板字符

纠结到底用谁,可以选择innerHTML

操作元素属性

操作元素常用属性

可以通过JS设置/修改标签元素属性,比如通过src更换图片

最常见的属性比如:href、title、src等

对象.属性=值

控制元素样式属性

可以通过JS设置/修改标签元素的样式属性

1)比如通过轮播图小圆点自动更换颜色样式

2)点击按钮可以滚动图片,这是移动的图片的位置left等等

学习路径:

1.通过style属性操作CSS
对象.style.样式属性='值'

注意:

1)赋值的时候,需要的时候不要忘记加css单位

2)如果样式属性名带有-连接符如background-color时,要使用小驼峰命名法改为backgroundColor

3)控制标签style行内样式,生成的是行内样式表,权重比较高

标签选择body,因为body是唯一的标签,可以直接写document.body.style

2.操作类名(className)操作CSS

如果修改的样式比较多,直接通过style属性修改比较繁琐,我们可以通过借助于css类名的形式,在style中编写一个新类并写入样式

元素.className='类名'

注意:

1)由于class是关键字,所以使用className去代替

2)className是使用新值换旧值,如果需要添加一个类,需要保留之前的类名

元素.className='类名 类名'
3.通过classList操作类控制CSS(H5)

为了解决className容易覆盖以前的类名,我们可以通过classList方式追加和删除类名不影响以前类名

//追加一个类
元素.classList.add('类名')
//删除一个类
元素.classList.remove('类名')
//切换一个类
元素.classList.toggle('类名')

操作表单元素属性

表单很多情况,也需要修改属性

正常的有属性有取值的,跟其他的标签属性没有任何区别

1)获取:DOM对象.属性名

2)设置:DOM对象.属性名=新值

DOM对象.type
DOM对象.value

表单属性中添加就有效果,移除就没有效果,一律使用布尔值表示,如果为true代表添加了该属性,如果是false代表移除了该属性,比如:disabled、checked、selected

自定义属性

标准属性:标签天生自带的属性,比如class、id、title等,可以直接使用点语法操作,比如:disabled、checked、selected

自定义属性:

1)在html5中推出来了专门的data-自定义属性

2)在标签上一律以data-开头

3)在DOM对象上一律以dataset对象方式获取

JS-DOM树和DOM对象,JS,javascript,前端,html文章来源地址https://www.toymoban.com/news/detail-816847.html

到了这里,关于JS-DOM树和DOM对象的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性

    说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费 , 如需要项目实战或者是体系化资源,文末名片加V! 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司担任研发部门CTO。 荣誉: 2022年度博客之星Top4、2023年度超

    2024年02月04日
    浏览(58)
  • 最详细!!!前端原神官网 (采用html+css+js+dom+ajax+jquery+swiper+json)完整版

    1.该项目采用了大部分前端知识, 完整的复刻原神官网上所显示的全内容 ,非常全面和详细。希望有兴趣的小伙伴萌可以看看和参考一下!!!该项目可以作为大学生 毕设项目(附带项目答辩ppt) 同时也可以作为计算机专业的小伙伴的 期末大作业 。喜欢的请留下你的足迹

    2024年02月05日
    浏览(59)
  • 【前端|Javascript第5篇】全网最详细的JS的内置对象文章!

    前言 在当今数字时代,前端技术正日益成为塑造用户体验的关键。我们在开发中需要用到很多js的内置对象的一些属性来帮助我们更快速的进行开发。或许你是刚踏入前端领域的小白,或者是希望深入了解内置对象的开发者,不论你的经验如何,本篇博客都将给你详细的讲解

    2024年02月12日
    浏览(54)
  • JavaScript HTML DOM

    JavaScript HTML DOM(文档对象模型)是一种用于访问和操作HTML文档元素的编程接口。它将HTML文档表示为一个树形结构,使开发人员可以使用JavaScript来操作和修改HTML元素、属性、样式和事件。 通过使用HTML DOM,你可以使用JavaScript来执行以下操作: 1. 访问和修改元素:你可以使用

    2024年02月09日
    浏览(36)
  • JavaScript:DOM对象

    严格意义上讲,我们在 JavaScript 语法阶段学习的知识绝大部分属于 ECMAScript 的知识体系,ECMAScript 简称 ES 它提供了一套语言标准规范,如变量、数据类型、表达式、语句、函数等语法规则都是由 ECMAScript 规定的。浏览器将 ECMAScript 大部分的规范加以实现,并且在此基础上又扩

    2024年02月02日
    浏览(29)
  • JavaScript 和 HTML DOM 参考手册

    JavaScript 和 HTML DOM 参考手册 js的变量类型有字符串,布尔等 在操作这些变量类型的时候,可以将他们看成是对象来操作 因为js 把一切都封装成对象来看 获取字符串的长度 length属性: 长度 indexOf(string) 返回出现字符串的位置 substr(num1,[num2]) 截取字符串 replace(str1,str2) 字符串替换

    2024年02月04日
    浏览(33)
  • JavaScript-HTML DOM的用法

    题记         javascript中html dom的用法 通过id查找元素 通过标签名查找元素  通过类名查找元素  后记         觉得有用可以点赞或收藏!

    2024年02月08日
    浏览(34)
  • JavaScript 入门指南(三)BOM 对象和 DOM 对象

    BOM(browser Object Model)即浏览器对象模型 BOM 由一系列对象组成,是访问、控制、修改浏览器的属性的方法 BOM 没有统一的标准(每种客户端都可以自定标准)。 BOM 的顶层是 window 对象 window 对象表示浏览器中打开的窗口。 使用 window 对象中的属性和方法,可以省略对象名,直

    2024年04月09日
    浏览(41)
  • web前端javaScript笔记——(11)DOM

    属性                                     此事件发生在何时 onabort 图像的加载被中断。 onblur                                   元素失去焦点。 anchange                                 域的内容被改变 onclick  当用户点击某

    2024年01月19日
    浏览(57)
  • 前端中什么是DOM对象

    DOM(文档对象模型)是一种编程接口,用于HTML和XML文档。它提供了一种将文档结构表示为树结构的方式,这使得程序和脚本能够动态地访问和更新文档的内容、结构和样式。 在前端开发中,DOM是非常重要的概念。当浏览器加载网页时,它会创建一个DOM,这个DOM表示了网页的

    2024年02月02日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包