DOM 操作
操作元素类名
我们有两种方式操作元素类名
按照原生属性操作
设置类名
元素.className = 'box'
修改类名
元素.className = '新值'
追加类名
元素.className = 元素.className + '新类名'
注意: 新类名前面要有一个 空格
删除类名
获取类名
1. 截取字符串
2. 按照空格切开, 循环遍历, 找到一个你想删除的删除掉
3. 再写一遍
H5 标准提供给我们的 API
元素身上有个属性 classList
里面包含了所有元素身上设置的类名
classList 提供了一系列方法来操作
1. add()
使用方法: 元素.classList.add('你要添加的类名')
2. remove()
使用方法: 元素.classList.remove('你要移除的类名')
3. toggle()
使用方法: 元素.classList.toggle('你要切换的类名')
当元素有这个类名的时候, 就删除,反之没有就添加。
操作元素文本内容
1. innerHTML
一个读写的属性
操作元素的超文本内容
读: 获取元素内部的所有内容,返回方式为字符串形式
使用方法: 元素.innerHTML
写: 设置元素内部的超文本内容
完全覆盖式书写
使用方法: 元素.innerHTML = '你要设置的内容'(自动解析)
2. innerText
一个读写的属性
操作元素的文本内容
读: 获取子元素内部(包括后代)的所有文本内容
标签内容不获取
使用方法: 元素.innerText
写: 设置元素内部的文本内容
完全覆盖式的写入
使用方法: 元素.innerText = '你要设置的值'(不自动解析)
3. value
一个读写的属性
操作表单元素的 value 属性
读: 获取表单元素的 value 值
使用方法: 元素.value
写: 设置表单元素的 value 值
使用方法法: 元素.value = '你要设置的值'
操作元素样式
1. 行内样式
style 的方式
利用原生属性的方式
元素.style
获取到的内容是一个对象, 里面包含元素所有的可设置样式
但是 **只能获取到行内样式**
2. 非行内样式
2-1. window.getComputedStyle() 方法
标准浏览器
语法: window.getComputedStyle(要获取样式的元素)
返回值: 一个对象, 里面包含所有可设置样式, 每一个样式都有值, 那你没有设置的有默认值
你需要那一个样式, 直接再找个对象里面访问就可以了
2-2. currentStyle 属性
IE 低版本
语法: 要获取样式的元素.currentStyle
得到的就是一个对象, 里面包含元素的所有可设置样式, 每一个样式都有值
你需要哪一个样式, 直接再对象里面查找就可以了
特别说明:
如果你使用 点语法获取样式
你获取带有中划线的样式要转化成驼峰的方式
如果你使用 数组关联语法获取样式
你可以写中划线
设置元素 只有一种方式
设置元素得行内样式
前端 JS 理论上是不可以设置元素得非行内样式
设置行内样式
使用方法: 元素.style.样式名 = '值'
版权声明: 本文为 InfoQ 作者【Jason199】的原创文章。
原文链接:【http://xie.infoq.cn/article/c57ac6cd21d455f9962c3266b】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论