js中 aaa.style 和 aaa.getAttribute('style') 等价吗,有无区别?
2015-12-31 10:53
507 查看
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:alaki
链接:https://www.zhihu.com/question/38750336/answer/78416508
来源:知乎
有区别
首先区分property和attribute,两个翻译成中文都可以作为属性,但是在实际上是有区别的。
在html标签里的自定义属性称为property
例如:<a href="/people/mi-si-14" data-tip="p$b$mi-si-14" data-original_title="alaki">alaki</a>
这个dom element有3个attribute:href、data-tips、data-original_title
而property是那些它被创建的时候就有的属性,例如attributes, autofocus, className, clientHeight。
特殊的是,假如
<a href="#" class="xx">alaki</a>
对于这个dom element来说,class不仅是attribute,同时它也是property,但是在dom.element中,只不过它叫className,这两个是绑定的。
简单来说,一些特殊的attribute将会转换为property,脚踏两条船,同样的style也是个脚踏两条船的家伙。
假如是内联样式,通过getAttribute('style')是可以获得的,但只能获取到内联样式部分,通过外部样式表或者内嵌样式都是无法获得的,返回值是字符串。
假如不是内联,那么getAttribute('style')返回null或者空字符串,返回哪一个取决于这个浏览器的实现
Element.getAttribute()。
上面两种情况,dom.style都将获得完整样式,返回值为对象CSSStyleDeclaration
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:alaki
链接:https://www.zhihu.com/question/38750336/answer/78416508
来源:知乎
有区别
首先区分property和attribute,两个翻译成中文都可以作为属性,但是在实际上是有区别的。
在html标签里的自定义属性称为property
例如:<a href="/people/mi-si-14" data-tip="p$b$mi-si-14" data-original_title="alaki">alaki</a>
这个dom element有3个attribute:href、data-tips、data-original_title
而property是那些它被创建的时候就有的属性,例如attributes, autofocus, className, clientHeight。
特殊的是,假如
<a href="#" class="xx">alaki</a>
对于这个dom element来说,class不仅是attribute,同时它也是property,但是在dom.element中,只不过它叫className,这两个是绑定的。
简单来说,一些特殊的attribute将会转换为property,脚踏两条船,同样的style也是个脚踏两条船的家伙。
假如是内联样式,通过getAttribute('style')是可以获得的,但只能获取到内联样式部分,通过外部样式表或者内嵌样式都是无法获得的,返回值是字符串。
假如不是内联,那么getAttribute('style')返回null或者空字符串,返回哪一个取决于这个浏览器的实现
Element.getAttribute()。
上面两种情况,dom.style都将获得完整样式,返回值为对象CSSStyleDeclaration
相关文章推荐
- 详解javascript高级定时器
- Web相关开发——JavaScript
- js实现文字垂直滚动和鼠标悬停效果
- JSONP 教程
- javaScript学习随笔
- JS----纯JS可视化的文件上传
- 关于:javaScript正则表达式语法
- 前台技术--通过javaScript提交表单
- 在一个JSP页面中包含另一个JSP页面的三种方式。
- 一次关于JSONP的小实验与总结
- 不可错过的javascript迷你库
- JS核心系列:漫谈JS引擎的运行机制
- DOM事件探秘之一
- js笔记(3)
- CollatingOfData 之 JsonHelper
- jsp中变量及方法的声明与使用
- 解决JS无法调用Controller问题的方法
- javascript中的执行环境及作用域
- [转]JavaScript字符串函数大全
- 简单谈谈JavaScript的同步与异步