前端学习 js APIs(1)变量声明,DOM(css选择器获取dom对象,innerText和innerHTML属性,className操作css,js标签修改样式属性),操作元素属性

目录

1. 变量声明

        2.DOM和BOM

        2.1 作用和分类

        1.2 什么是DOM

        1.3 DOM树

        1.4 DOM对象(重点)

         1.5 获取DOM对象

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

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

        1.5.3 操作元素(重点)

        1.元素 innerText属性

        2.元素innerHTML属性

        3.常用属性

        3.操作元素样式属性

        1.还可以通过js设置/修改标签元素的样式属性

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

        3.通过classList操作类控制CSS(重点)

        4. 操作表单元素 属性

        5. 自定义属性

        6. 定时器-间歇函数


1. 变量声明

        变量声明有三个 var let 和const

        我们应该用那个呢

        首先var 先排除,老派写法,问题很多,可以淘汰掉....

        let or const

        建议:const 优先,尽量使用const,原因:

  •                 const语义化更好
  •                 很多变量我们声明的时候就知道他会不被更改了,就使用const
  •                 实际开发中也是,比如react框架,基本const

        如果你还纠结,那么我们建议:

                有了变量先给const,如果发现它后面是要被修改的,再改为let

                数组元素使用const,存储的是地址(存在栈中),可以增加元素(元素存在堆中),原数组不变,地址不变,数组可以增加删除属性。

                以后数组和对象使用const来声明

        2.DOM和BOM

        2.1 作用和分类

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

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

        1.2 什么是DOM

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

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

        DOM作用

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

        1.3 DOM树

        DOM数是什么

  •                 将html文档以树状结构直观的表现出来,我们称之为文档树或DOM树
  •                 描述网页内容关系的名词
  •                 作用:文档树直观的体现了标签与标签之间的关系

        1.4 DOM对象(重点)

  •         DOM对象:浏览器根据html标签生成js对象

                所以标签属性都可以在对象上找到

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

  •         DOM的核心思想

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

  •         document对象

                是DOM里提供的一个对象

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

                        例如:document.write()

                网页所以内容都在document里面          

         1.5 获取DOM对象

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

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

                document.querySelector('css选择器')

                参数:

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

                返回值:

                        css选择器匹配的第一个元素,一个HTMLElement对象

            2 选择匹配的多个元素

                语法:

                        document.querySelectorAll(‘css选择器’)

                参数

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

                返回值:

                        css选择器匹配的NodeList对象集合

        

        获取的单个对象可以直接修改样式,多个对象集合的数组不能直接修改

        SelectorAll获取  得到的是一个伪数组

                有长度有索引号的数组

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

                想要得到里面的每个对象,则需要遍历(for)方式获得

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

        //根据id获取一个元素

        document。getElementById(‘nav’)

        //根据标签获取一类元素

        document.getElementsByTagName(‘div’)

        //根据类名获取元素 获取页面所以类名为w的

        document.getElementsByClassName(‘w’)

        1.5.3 操作元素(重点)

        1.元素 innerText属性

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

                纯文本,不解析标签

        2.元素innerHTML属性

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

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

        3.常用属性

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

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

                语法:

                对象.属性 = 值

        3.操作元素样式属性

        1.还可以通过js设置/修改标签元素的样式属性

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

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

        学习路径

  •         通过style 属性操作css
  •         操作类名(clssName)操作CSS
  •         通过classList操作类控制CSS

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

        

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

       如果修改的样式比较多,直接通过style属性修改比较繁琐,我们可以通过借助css类名的形式

        语法:

                元素.className = ' css类名'

        注意:

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

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

        

        3.通过classList操作类控制CSS(重点)

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

                语法:

                //追加一个类

                元素.classList.add('类名')

                //删除一个类

                元素.classList.remove('类名')

                //切换一个类

                元素.classList.toggle('类名')

        toggle切换类,有就删掉,没有就增添

        生成的是行内样式表,权重较高

        4. 操作表单元素 属性

        获取:DOM对象.属性名

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

        使用innerHTML 属性不能得到表单内容

        表单.value = '用户名'

        表单.type = 'password'

        表单属性中添加就有效果,移除就没有效果,一律使用布尔值表示 如果true代表添加了该元素 如果false代表移除了该元素

        比如:disabled(按钮是否能点)  checked(是否选中)    selectd(下拉框?)

        

        5. 自定义属性

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

           自定义属性:

  •         在html5中推出来了专门的data-自定义属性
  •         在标签上一律以data-开头
  •         在DOM对象上一律以dataset对象方式获取

        6. 定时器-间歇函数

        定时器函数可以开启和关闭定时器

                1.开启定时器

                setInterval(函数,间隔时间)

                作用:每隔一段时间调用这个函数

                间隔时间单位是毫秒

                注意函数名字不需要加括号

                定时器返回的是一个id数字

                

                2.关闭定时器

                let 变量名 = setInterval(函数,间隔时间)

                clearInterval(变量名)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Flyoungbuhu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值