查了好久,终于查到一个靠谱的了!

attribute和property到底是什么呢,有什么区别呢?这个或许很多人都没留意,或许认为是同一个东西。
要明确attribute和property是不同的东西就要先知道它们分别是什么,这个很难说得清,举些例子就明白了。
这里我们先以ff为标准,后面再说ie的区别。以div为例,查查网页制作完全手册,会找到它有以下属性:
ALIGN      align
CLASS      className
ID            id
TITLE       title 
...            ...
其中第一列就是attribute,第二列就是property。

attribute是dom元素在文档中作为html标签拥有的属性;

property就是dom元素在js中作为对象拥有的属性。

所以:

对于html的标准属性来说,attribute和property是同步的,是会自动更新的,

但是对于自定义的属性来说,他们是不同步的,

先给出例子:

body><ul id="ul"><li>aaaaaaaa</li><li>bbbbbbbb</li><li>cccccccc</li>
</ul>
<div id="t" tt="1">test</div>
<script>var o = document.getElementById('t');
o["tt"]="2";
document.writeln(o.getAttribute("tt"));
document.writeln(o["tt"]);o.setAttribute("tt","3");
document.writeln(o.getAttribute("tt"));
document.writeln(o["tt"]);
</script>

测试结果:

test

1 2 3 2

这个是自定义的属性;可以看出来attribute和property是不一样的;

div id="t2" title="title">test2</div>
<script type="text/javascript">var o2=document.getElementById("t2");o2.setAttribute("title", "ninini");o2["title"]="nihao";document.writeln(o2.getAttribute("title"));
document.writeln(o2["title"]);</script>

测试结果:

test2

nihao nihao

将赋值语句倒过来一下,可以发现,浏览器以后面赋值的为准;

<script type="text/javascript">var o2=document.getElementById("t2");o2["title"]="nihao";o2.setAttribute("title", "ninini");document.writeln(o2.getAttribute("title"));
document.writeln(o2["title"]);
</script>

测试结果:

test2

ninini ninini

PS:需要记住的是:    attribute指的是html标签中的属性;

                                      property指的是js对象中的属性;

    

JS中的attribute和property的区别和联系相关推荐

  1. java中类图概念,程序员眼中的UML(4)--类图释疑之一,Attribute和Property之区别

    程序员眼中的UML(4) --类图释疑之一,Attribute和Property之区别 上一篇中提出了很多问题,其中最令人费解的可能就是Attribute和Property之区别了吧.我在网络上寻找良 ...

  2. Attribute和Property的区别

    Attribute和Property的区别 attribute是XML元素中的概念,用于描述XML标签的附加信息,即XML标签的属性,property是JavaScript对象中的概念,用于描述Jav ...

  3. html offsetwidth 字符串宽度,基于js中style.width与offsetWidth的区别(详解)

    作为一个初学者,经常会遇到在获取某一元素的宽度(高度.top值...)时,到底是用 style.width还是offsetWidth的疑惑. 1. 当样式写在行内的时候,如 时,用 style.wid ...

  4. js中的target与currentTarget的区别转

    关于js中target与currentTarget的区别的关键在于他们所处在的事件流的阶段是不一样的,target处于事件流的目标阶段,currentTarget处理事件流的捕获.处于目标阶段和冒泡阶 ...

  5. node.js中exports与module.exports的区别分析

    前言 关于Node.js中的exports和module.exports,很多时候都比较容易让人混淆,弄不清楚两者间的区别.那么我们就从头开始理清这两者之间的关系. 来源 在开发Node.js应用的时 ...

  6. js中构造函数与普通函数的区别

    构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总 ...

  7. js中关于length与size的区别

    length与size的区别 用了很长时间的length的一直没考虑过其与size的区别,今天同事问起,特意查找资料,将两者的相同点与共同点列出来. 相同点:在jQuery中用于返回元素的个数,siz ...

  8. JS中的let和var的区别

    ES6 新增了let命令,用来声明局部变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束. 在ES6之前,我们都是用var来声明变量,而且JS只有函 ...

  9. php中的foreach和js中的foreach的用法和区别

    PHP中的foreach循环: 主要用于遍历数组 例如: (1)// $colors=array("red","yellow","blue" ...

  10. js中(function(){}()),(function(){})(),$(function(){});之间的区别

    1. (function(){}())与(function(){})() 这两种写法,都是一种立即执行函数的写法,即IIFE (Immediately Invoked Function Express ...

最新文章

  1. 空间索引不能用analyze进行分析
  2. C++:extern关键字
  3. 支付宝集五福活动参与人数超4.5亿 你分到了多少?
  4. 集合源码(一)之hashMap、ArrayList
  5. mysql compopr_MySql应用的基本操作语句
  6. VS中时间控件的使用
  7. js生成java uuid_JS生成UUID 前端UUID
  8. 美国拉斯维加斯游戏CRAPS(花旗骰)掷骰子的游戏的C语言版本
  9. Vivado中Global和Out-of-context(OOC)综合模式
  10. createBuilderConfig 0XFFFF异常
  11. Long和Integer相互转换
  12. TCP/IP详解卷一读书笔记一
  13. AI高效学习路径总结
  14. html不同域名显示不同内容,前端基础面试题(HTML+CSS部分)
  15. PCB抄板、PCB打样、PCB反推原理图、PCB设计
  16. rpa 手机_RPA
  17. Video Of You! 勒索诈骗邮件
  18. 《疯狂Java讲义》读书笔记7
  19. html制作晚安,制作快手的晚安的说说
  20. FontBook for Mac(字体管理软件)

热门文章

  1. SEDANSPOT Detecting Anomalies in Edge Streams阅读记录
  2. MDUKEY超级节点配置及指南(简)
  3. 全球及中国中线静脉插管行业研究及十四五规划分析报告
  4. html 抽签分小组代码,javascript随机抽签程序
  5. 李丰新年展望 | 一张图看清2020中国机会
  6. http库三剑客:httpx
  7. Python超详细学员管理系统【面向对象实现】
  8. oracle官网一体机,沃趣科技-最新活动-oracle一体机|沃趣oracle一体机QData
  9. 09-03 NOIP模拟测试36
  10. PM notifier