2020-12-13

周日   DOM和BOM

DOM (Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。 树节点;


获取子节点的两种方式,语法如下

父节点.children;children树形返回保存子元素的集合,是一个HTMLCollection对象,在返回节点包括元素节点和注释节点。

父节点。childNode;childNode中保存着一个NodeList对象。

节点的基本属性:nodeType,nodename,nodeValue。

nodeType属性,用于表明节点类型,节点类型由在Node类型中定义的数值常量来表示。

1--标签

2--属性

3--文本

要了解节点的具体信息,可以使用nodeName和nodeValue这两个属性。

节点.nodeName:获取标签节点的标签名

节点.nodeValue:获取文本节点的内容

获取父节点的方法:

元素.parentNode:属性指向文档树中的父节点。

元素.offsetParent:指向与当前元素最近的有定位属性的父级元素,如果没有定位的父级,则指向body。

操作节点

1.创建节点

document.createElement(‘标签名’):该方法接受一个字符串标签名,返回一个标签对象的引用。

document.createTextNode(‘文本’):该方法创建一段文本,返回文本对象的引用。


2.追加节点(父元素的末尾)

父元素.appendChild(子节点),用于父元素的末尾添加一个节点。

var oul=document.getElementsByTagName(“ul”)[0];

var cli=document.craeteElement(“li”);

cli.innerHTML="内容"

oul.appendChild(cli);

3.添加节点(某个元素之前)

父元素.insertBefore(要插入的节点,参考节点):该方法接受两个参数,要插入的节点和作为参照的节点,在插入节点后,被插入的节点会变成参照节点的前一个同胞节点,同时被方法返回。



    

    

    Document

    

        

    

    添加

    

4.删除节点

父元素.removeChild(被删除的元素):接受一个参数,即要移除的节点。

5.替换节点

父元素.replaceChild(新的节点,被替换的节点);该方法接受的是两个参数:要插入的节点和要被替换的节点。

6.获取和设置属性值(取定义属性的方法)

获取元素值:元素.getAttribute('属性名')

设置属性值:元素.setAttribute(‘属性名’,‘属性值’)


    

    

    Document

    

    

表格操作:

1.获取表格元素

DOM中提供了可以简便快速获取表格元素的属性,先获取到表格table对象,在通过table获取里面的元素,如获取thead-oTab.tHead、tfoot-oTab.tFoot、tbody-oTab.tBoodies、表格里的行toTab.rows。

2.案例:

    

    

    Document

    

    用户名:

    年龄:

    地址:

    

    

        学生信息表

        

            用户名

            年龄

            地址

        

        

        

    

案例2:

    

    

    

    

    

        请输入姓名:  
 请输入性别: 男 
 请输入年龄: 

        

    

    

        

            

                全选

                姓名

                性别

                年龄

            

        

        

            

                

                张三

                女

                88

            

            

                

                李四

                男

                18

            

            

                

                王五

                女

                1

            

        

    

    

        

    


补充找找元素的方法:

元素.querySelector

元素.querySelectorAll

    

    

    Document

    

        

        

        

真的

        

不是的

    


BOM

BOM全称Browser Object Model-浏览器对象模型,他提供了很多对象,用于访问浏览器的功能,没有规范,BOM的核心是window。

三大弹出窗。


    

    

    Document

    

    


open和close,打开和关闭窗口。

history对象,历史记录查询。

navigator对象,此对象的属性通常用于检测显示网页的浏览器类型

    

    

    Document

    

body的位置属性;分为三组对比来记。

1.client系列

1)元素可视宽高

    元素.clientWidth(width+左右的padding)

    元素.clientHeight(height+上下的padding)

2)屏幕的可视宽高

    document.documentElement.clientWidth

    document.documentElement.clienHeight

3)元素边框

    元素.clientTop:上边框的高度

    元素.clientLeft:做边框的宽度

2.offset系列

1)获取与元素的占位宽高

    元素.offsetWidth:width+padding+border

    元素.offsetHeight:height+padding+border

2)获取元素在页面中的位置

    元素.offsetTop:当前元素的顶部,定位到父元素的距离,没有定位父元素,到body的距离

    元素.offsetLeft:当前元素的左边,到定位父元素的距离,没有定位父元素,到body的距离

3.scroll系列

1)滚动事件

    window.onscroll:滚动条滚动的时候调用

2)屏幕滚动距离

    document.documentElement.scrollTop:获取页面被卷去的高度;

    document.body.scrollTop

3)元素的滚动

    元素.scrollTop:被卷去的高

    元素.scrollLeft:被卷去的宽

    元素.scrollWidth:获取元素实际内容宽

    元素.scrollHeight:获取元素的实际内容高

总结:

width:content 内容

clientWidth:padding+content 可视宽

offsetWidth:content+padding+border 占位宽

scrollWidth:内容的实际宽度


clientTop:border

offsetTop:相对于父元素之间的距离

scrollTop:被卷去的高度

document.documentElement.scrollTop||document.body.scrolllTop   //所有浏览器的兼容写法,滚动条。

document.document.clientWidth 屏幕宽


实例:

    

    

    Document

    

    

    

    

    Document

    

    

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

        

l俺么附近的女生的福尔法IE飞飞飞if纷纷扰扰不v if缝纫机房日方日发放日夫人能否

    


懒加载:先只加载可视窗口区域的图片,当用户向下拖动滚动条时在继续加载后面的图片。这样做的好处是节约加载流量,减少加载时的线程数量,优化了用户体验。

懒加载实例:


    

    

    Document

    

    

        _src="https://img10.360buyimg.com/imgzone/jfs/t1/113060/12/1418/185227/5e980a6dE5f25e04e/5ccdffc0b7a9e271.jpg">

    

        _src="https://img10.360buyimg.com/imgzone/jfs/t1/95408/16/18803/242500/5e980a6dEb79fff73/b95a401fdaa46838.jpg">

    

        _src="https://img10.360buyimg.com/imgzone/jfs/t1/113060/12/1418/185227/5e980a6dE5f25e04e/5ccdffc0b7a9e271.jpg">

    

        _src="http://img10.360buyimg.com/imgzone/jfs/t1/26298/2/3140/95881/5c24a2a3Ec88bc8e7/31a622ea7e7f135a.jpg">

    

        _src="http://img10.360buyimg.com/imgzone/jfs/t1/88385/4/14421/309252/5e65b6f1Ec8c72fb2/0969945cc3994b62.jpg">

    

        _src="http://img10.360buyimg.com/imgzone/jfs/t1/102251/19/14425/221709/5e65b6c1Eab3d1427/278d241d878fc230.jpg">

    

        _src="http://img10.360buyimg.com/imgzone/jfs/t1/104868/9/14544/76373/5e65b6c1E970d4f5c/e4a72c73c6d552a7.jpg">

    

        _src="http://img10.360buyimg.com/imgzone/jfs/t1/45973/2/12795/633596/5d99867bE84169bb5/2287eb4a615c53cf.jpg">

    

        _src="http://img30.360buyimg.com/popWareDetail/jfs/t1/118005/4/18300/111948/5f649374E790686f6/81a6fec05cd6e58c.jpg">

    

        _src="http://img30.360buyimg.com/popWareDetail/jfs/t1/122120/40/13016/132812/5f649374E3548027d/d6db0daac30fcc09.jpg">

    

        _src="http://img30.360buyimg.com/popWareDetail/jfs/t1/118886/1/18746/124561/5f649374Ee99bca2d/74cf607b335d1083.jpg">

    


回到顶部案例:


    

    

    Document

    

    

    

    

resize事件

    当前屏幕发生变化的时候调用,会不间断的调用。

    

    

    Document

    

        alt="">

    


淘宝评价案例

    

    Title

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

你可能感兴趣的:(2020-12-13)