操作dom_学习笔记:DOM的元素操作

知识总结:姬清,鲁雷,撒世兰

   最近学习DOM的操作,DOM主要用来改变网页的内容,结构和样式。所以在整个web前端里面是非常重要的内容,今天给大家整理了DOM获取元素&操作元素的样式属性内容,供大家参考:

知识目录:

1.DOM的定义

2.DOM的作用

3.DOM树

4.获取元素

5.获取元素要干什么

6.获取当前网页文档的高度,宽度,滚动高度,滚动宽度

7. 案例:网页开关灯 仿京东密码  百度换肤

1:DOM的定义

文档对象模型:(DocumentObject Model,简称DOM),是[W3C]组织推荐的处理[可宽展标记语言](提供一系列的属性和方法,供我们获取和操作DOM元素)

DOM 是一项 W3C(World Wide Web Consortium) 标准。

DOM 定义了访问文档的标准:

“W3C 文档对象模型(DOM)是中立于平台和语言的接口,它允许程序和脚本动态地访问、更新文档的内容、结构和样式。”

W3C DOM 标准被分为 3个不同的部分:

1.CoreDOM - 所有文档类型的标准模型

2.XMLDOM - XML 文档的标准模型

3.HTMLDOM - HTML 文档的标准模型

Dom树又称为文档树模型,把文档映射成树形结构,通过节点对象对其处理,处理的结果可以加入到当前的页面

Ø  文档:一个页面就是一个文档,DOM中使用document 表示

Ø  节点:网页中的所有内容,在文档树中都是节点(标签、属性、文本、注释等),使用node 表示

Ø  标签节点:网页中的所有标签,通常称为元素节点,有简称为“元素”,使用element表示

什么是 HTML DOM?

HTMLDOM 是 HTML 的标准对象模型和编程接口。它定义了:

Ø  作为对象的 HTML 元素

Ø  所有 HTML 元素的属性

Ø  访问所有 HTML 元素的方法

Ø  所有 HTML 元素的事件

2:DOM的作用:

改变网页的内容,结构和样式

文档(doucument):一个页面就是一个文档

元素(element):页面中的所有的标签都是元素,每一个元素都看成是一个对象

节点(node):页面中所有的内容都是节点(标签、属性、文本[文字、空格、换行等])根元素:

由文档及文档中的所有的元素(标签)组成的一个树形结构图,叫树状图(DOM树)

DOM就是把html中的所有的标签模拟成一个树形结构图,然后每一个标签就是一个元素,每一个 元素就是一个对象。

Dom把html中所有的内容都视为对象,所以,无论是标签还是回车换行还是空白都是对象。

3:DOM树

e5d403185d75331c48f1fa30b20841fc.png

       DOM树又称为文档树模型,把文档映射成树型结构。

       节点:网页中所有的内容,在文档树中都称为节点(标签,属性,文本,注释等),使用node表示

       标签节点:网页中所有标签,通常称为元素节点,又简称为“元素”,使用element表示

       文档:一个页面就是一个文档,DOM中使用document表示

4:获取元素

   1.document.getElementById('id名')  根据id名返回第一个元素对象

   2.document.getElementsByTagName('标签名')根据标签返回元素对象集合   类数组 - 遍历length

   3.document.getElementsByClassName('类名') 根据类名返回元素对象集合- 类数组  -遍历 length

   4.document.querySelector('选择器')根据选择器返回第一个对象

   5.document.querSelectorAll('选择器')根据选择器返回元素对象集合

   6.获取指定元素document.body    document.documentElement

操作元素的内容

 内容   元素对象.innerHTML=“值”识别标签

          元素对象.innerText = “值” 不识别标签

 获取    元素对象.innerHTML  获取的是全部内容 (包括标签  空格  换行)

         元素对象.innerText   获取的是文本内容  (不包括 标签  空格  换行)

操作元素的属性

   普通属性 src href  id  className ……等

表单专用属性 type  value checked disabled……等

1.checked  selected  disabled 在html中属性名和属性值是一样的,在dom里面用true和false来表示不同的状态

设置  元素对象.属性名=属性值

获取  元素对象.属性名

操作元素的样式

样式:color  background-  font- border padding  margin  text-align……

css中类似于 font-size   dom中去掉-,第二个单词首字母大写

设置

1. 元素对象.style.样式名=‘值’一个一个设置设置样式   行内样式

2.元素对象.clssName=‘类名’ 一次性设置多个样式   利用类名

获取

一般不获取  只能获取行内样式   元素对象.style.样式名

5:获取元素要干什么

比如说,你点击一个按钮,按钮需要改变颜色,那么你就得获取这个按钮的元素,然后对按钮进行修饰。

6获取当前网页文档的高度,宽度,滚动高度,滚动宽度

网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth (包括边线的宽) 
网页可见区域高:document.body.offsetHeight (包括边线的宽) 
网页正文全文宽:document.body.scrollWidth
网页正文全文高:document.body.scrollHeight
滚动条的高:document.body.scrollTop  
滚动条的左:document.body.scrollLeft
网页正文部分上:window.screenTop
网页正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的宽:window.screen.width
屏幕可用工作区高度:window.screen.availweight

屏幕可用工作区宽度:window.screen.availwidth

7:案例

下面是我用获取元素,点击事件 做出了一个网页开关灯首先要找出它的事件源,事件类型,事件处理程序, 先获取button通过点击按钮对页面进行操作

7.1---网页开关灯

  <button class="button">开关灯button>

    <script>

        var oBut = document.querySelector('button')

        var count = 0

        oBut.onclick = function () {

            if (count % 2 == 0) {

                document.body.style.backgroundColor = '#000'

            } else {

                document.body.style.backgroundColor = '#fff'

            }  

             count++

        }

    script>

首先声明一个计次的变量每点击一次数字就会加1然后用if语句进行判断如果点击的次数是双数就是关灯

dfe01badd0a0eccb8e8ca44d594293cc.png

如果点击的次数是单数就是开灯

246715fde0ea9332376791be827309a9.png

7.2---仿京东密码案例

<body>

    <div>

        <p>仿京东密码p>

        <input type="password">

        <img src="../../images/close.png" alt="">

    div>

    <script>

        var iNput = document.querySelector('input')

        var oImg = document.querySelector('img')

        flag = 1; // 1 是true    0是false

        oImg.onclick = function () {

            if (flag) {

                oImg.src = '../../images/close.png'

                iNput.type = 'password'

                flag = 0;  

            } else {

                oImg.src = '../../images/open.png'

                iNput.type = 'text'

                flag = 1;

            }

        }

    script>

body>

当你输入密码之后想看一下密码对不对,你就可以点击旁边的小眼睛,点击之后小眼睛睁开就是把密码框转换为文本框,里面的内容就可以看的到了。

a79a330ff5138252acb0a5c9862617f5.png

5927dd170f991868119b34a0a47b14ad.png

7.3---百度换肤

<body>

    <div class="box">

                <img src="./图片/1.jpg" alt="">

                <img src="./图片/2.jpg" alt="">

                <img src="./图片/3.jpg" alt="">

                <img src="./图片/4.jpg" alt="">

    div>

    <script>

        var oLi = document.querySelectorAll('img')

        for (var i = 0; i oLi.length; i++) {

            oLi[i].onclick = function () {

                // this.src 是点击的当前的图片路径

                document.body.style.background = 'url(' + this.src + ')'

                document.body.style.backgroundRepeat = 'no-repeat'

                document.body.style.backgroundSize = 'cover'

            }

        }

    script>

body>

通过获取元素点击图片对页面进行换图  this.src 是获取当前点击的图片路径进行换图

f58d132e498702c56dbd52d6367c2d80.png

7.4---下拉类表框

cebc333378f870569e89bb221efd52dd.png 

fd999243f6398887ec1e10bc3a270d2c.png

7fe03c2d4994be769d9edf9860c4e2f6.png

7.5---密码登录

1f1b57ecbb434159b86f4889f44eb694.png

d07f3653ca0bd139ba83271005434ffb.png

登录成功时

59170d08c4d48b382c85e425fabb233a.png

登录失败时

3ab1fc615430ef3642b61c943440170b.png

  以上就是我们总结的本节内容,文中有不当之处还希望大家之处,我们一起进步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值