一文了解Web apis有关DOM操作

85 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第18天,点击查看活动详情

Web Apis

js组成 ECMAScript DOM BOM

Web Api是浏览器提供的一套操作浏览器功能和页面元素的API(BOM 和 DOM)

 

DOM

文档对象模型,是W3C组织推荐的处理可扩展标记语言(HTML或者XML)的标准编程接口

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

 

DOM树(对象)

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

元素: 页面中的所有标签都是元素,DOM中使用element表示

节点: 网页中的所有内容都是节点(标签,属性,文本,注释),DOM中用node表示

 

获取元素

根据id获取

document.getElementById(id)

根据标签名获取元素对象--动态集合,当前页面增加了标签,这个集合也就增加了元素

document.getElementsByTagName('标签名')

element.getElementsByTagName('标签名')

//返回值为元素对象的集合(伪数组的形式存储的,数组元素是元素对象)

 

H5新增获取元素方式

document.getElementByClassName('类名'); //根据类名返回元素对象集合

document.querySelector('#nav'); //根据指定选择器返回第一个元素对象

document.querySelectorAll('选择器'); //根据指定选择器返回

获取特殊元素(body,html)

document.body //获取body元素

document.documentElement //获取html元素对象

操作表单元素属性,操作元素样式属性

type value disabled

element.style className

 

自定义属性操作

element.属性 获取内置属性值(元素本身自带的属性)

element.getAttribute('属性') 主要获取自定义的属性(标准)

 

element.属性 = '值' //设置内置属性值

element.setAttribute('属性', '值'); //class特殊

 

element.removeAttribute('属性') //移出属性

H5自定义属性

目的:为了保存并使用数据,有些数据可以保存到页面中而不用保存到数库中 但是有些自定义属性很容易引起歧义,不容易判断是元素的内置属性还是自定义属性

H5规定自定义属性data-开头作为属性名并且赋值

H5新增element.dataset.index 或者 element.dataset['index'] //ie11才开始支持

//如果自定义属性里面有多个链接,我们获取的时候采取 驼峰命名法

data-list-name="shop"

div.dataset['listName']