js中element.style的坑,顺便说下getComputedStyle

之前有一次在写拖拽效果的时候,用到了box.style.left和box.style.top(box是选出来的div元素),但是怎么弄都发现不成功,后来就console.log看一下发现啥都木有!!惊了。后来发现用element.style读取和改变的是内联样式,刚才的所有的css效果都成内联样式才有用,若是写成页面级css是木用的,读取出来的“当银”读取不到。而且要注意用element.style获取的值都是字符串型的。

还有一个window.getComputedStyle()这个也是可以获取一个CSSStyleDeclaration 对象,这个对象获取的是所有最终使用的CSS值,但是这个获得的对象仅能读。这个在用时要给两个参数window.getComputedStyle(element,[pseudoElt]),第一个其实是想要获取的样式的元素,而第二个指定一个要匹配的伪元素的字符串。必须对普通元素省略(或null)。

window.getComputedStyle()和style的区别:

(1)前者是仅读而后者是可读可写

(2)前者能获取到所有最终使用的css值,而后者仅能获取到style中的值,若style中没设值则为空

更多其他详见https://www.zhangxinxu.com/wordpress/2012/05/getcomputedstyle-js-getpropertyvalue-currentstyle/

若有不足之处请加以指正,若要转载请声明出处,谢谢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,935评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,866评论 1 92
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,628评论 0 7
  • 前端必读:浏览器内部工作原理[https://kb.cnblogs.com/page/129756/] 作者: T...
    我是强强阅读 1,192评论 0 2
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,431评论 0 3