上一篇讲了两种获取样式的方式 。
1. 通过直接访问style对象
2. 通过方法getAttribute
这两种方法都没法获取用户代理或者样式表设置的样式值 。今天我来讲一种跨浏览器的方式来获取所有的与DOM相关的样式值 。
一. 跨浏览器方法
currentStyle对象是一个特定于IE的对象 。它包含了一个元素的所有支持的和可用的CSS属性的一个集合 。它期待骆驼表示 格式的一个值。
比如:fontFamily而不是font-family
所以,这里,如果是支持这个对象的浏览器调用的话,就使用CSSPROP 。
从代码中,可以看出,其它浏览器,使用的是window.getComputedStyle方法 。该方法也可以通过
document.defalutView.getComputedStyle来访问 。这个方法接受两个参数,元素和一个伪元素,后者通常为空(或者一个空字符串””) 。
二. 获取属性的优先级竟然是能获取所有与DOM相关的样式属性,那必然有一个优先级的问题 。
<style> #elem{font-size:23px;}</style><input id ="elem" style="font-size:18px;"/>elem.style.fontSize = '12px';console.log(getStyle(elem, "fontSize", "font-size"))// 输出12px当在几处同时设置一个属性时,getStyle方法获取永远是那个起使用的,这一点要高度关注 。
getStyle取值的优先级是:
1. 动态设置的
2. 内联设置的
3. 样式表设置的
【js通过class获取元素的方法 js如何获取元素的宽度】4. 浏览器默认设置的
推荐阅读
- 减肥期间暴食了如何调整
- 我的侠客武学怎么获得 我的侠客武学获取方法汇总
- 我的侠客生活道具在哪 我的侠客生活道具获取位置大全
- 漫威复仇者联盟黑暗神书有什么用 黑暗神书获取方法
- 也因此食用黄皮可以获取以下好处
- 企业场所码申请流程 企业二维码如何获取支付宝
- 如何查询车辆信息 如何通过车架号看车辆的信息?
- 漫威复仇者联盟主要文物有什么用 主要文物获取方法
- 明月之后怎么刷金条 金条快速获取方法介绍
- 如何通过食物补充维生素B1