当前位置: 首页 > 科技观察

《第二篇》JavaScript如何获取元素的样式信息

时间:2023-03-12 20:46:13 科技观察

上一篇讲了两种获取样式的方法。1.通过直接访问样式对象2.通过方法getAttribute这两种方法都不能得到用户代理或样式表设置的样式值。今天我将讨论一种跨浏览器的方式来获取所有与DOM相关的样式值。1.跨浏览器方法currentStyle对象是IE特有的对象。它包含一个元素的所有受支持和可用的CSS属性的集合。它需要一个骆驼符号格式的值。例如:fontFamily而不是font-family所以,在这里,如果被支持这个对象的浏览器调用,就使用CSSPROP。从代码可以看出其他浏览器使用的是window.getComputedStyle方法。也可以通过document.defalutView.getComputedStyle访问此方法。该方法接受两个参数,元素和伪元素,后者通常为空(或空字符串“”)。2.获取属性的优先级是能够获取到所有DOM相关的样式属性,所以肯定有优先级的问题。elem.style.fontSize='12px';console.log(getStyle(elem,"fontSize","font-size"))//输出12px同时在几个地方设置一个属性时,总是会先使用getStyle方法,这一点要注意。getStyle值的优先级为:1.动态设置2.内联设置3.样式表设置4.浏览器默认设置