美文网首页
Attribute和Property的区别

Attribute和Property的区别

作者: 科研者 | 来源:发表于2018-04-01 14:40 被阅读0次

    1. Attribute和Property的概念

    • attribute : 特性,XML 元素中的概念,用于描述 XML 标签的附加信息,即: XML 标签的特性; 如:<input type="text" value="初始值" /> 中的 typevalue 均是input元素的特性;
    • property : 属性,JavaScript 对象的概念,用于描述 JavaScript 对象的成员,即:JavaScript 对象的属性;如: JavaScript 对象 var person = {name:"郭斌勇",age:28} 中的 nameage 均是对象 person 的属性;

    2. attribute和property的关系

    为了能够在 JavaScript 中操作 HTML 浏览器会为 HTML 中的元素创建相应的 Dom 对象,Dom 对象就是普通的 JavaScript 对象,它是 HTMLElement 类型的对象,所以 dom 对象的所有成员都称为 property (属性);

    JavaScript 中的 HTMLElement 类型的对象有个 attributes 属性(property),它是 NamedNodeMap 类型的类数组对象 ,它里面保存的都是 HTML 中元素的 特性(attribute) 相对应的 JavaScript 对象;在 JavaScript 中,HTML 中元素的 attribute (特性) 用 Attr 类型的对象表示;

    在 XML 中,元素的特性(attribute)值是没有类型之分的,所以,无论是数字、字符中、布尔值,在 XML 眼中,它们都是同一类东西; JavaScript 中的 Attr 类型把 HTML 中的元素的特性值都映射为字符串类型;为了更好地使用 Dom , 浏览器也在 Dom 对象中为标准的 HTML 元素的特性(attribute)添加了相应的属性 property ,如:dom 对象的 idtypecheckedvaluedefaultValue 等等;为了更好的使用,浏览器为这些属性的值也做了相应的处理,所以,这些属性(property)的值与 HTML 元素中相应的特性值并非完全一致;如:对于 Dom 对象,dom.checked 的值始终是布尔类型的,dom.value 的值始终是相应 input 元素的当前值,并非是 HTML 中 input 元素的 value 特性的值,dom.defaultValue 则是 HTML 中 input 元素的 value 特性的值;

    相关文章

      网友评论

          本文标题:Attribute和Property的区别

          本文链接:https://www.haomeiwen.com/subject/ssaocftx.html