JavaScript中的attribute和property

     attitude是DOM元素在文档中作为html标签拥有的特性,他的存在与页面元素紧紧联系在一起,它的值只能是字符串形式的。与之相关的js方法有getAttribute()、setAttribute()和removeAttribute(),用于获取、设置与移除元素的特性,这些方法也可用于自定义的特性。

    property翻译为属性,是DOM元素在js中作为对象拥有的属性,与js对象联系在一起。属性是已经存在的,不需要外部赋予的特性(即使值是null或者空字符,这个属性也可以说是存在的)。

    之所以两者容易搞混,甚至可以交换使用,是因为操作两者的结果可能是一样的。例如每个元素都有一个id的属性,使用点id的形式可以获取到元素的id,使用getAttribute("id")方法同样可以获取元素的id。但是自定义属性就不能用点操作来获取了。只有公认的(非自定义)特性才会以属性的形式添加到DOM对象中。

    两类特殊的特性:

    style:用于通过CSS为元素添加样式。getAttribute()返回的是CSS文本,通过属性访问返回的是一个对象。

    事件处理程序:getAttribute()返回的是相应代码的字符串,访问属性返回的是JavaScript函数。

    SO,一般只有在取自定义属性的时候,采用getAttribute()方法。

猜你喜欢

转载自blog.csdn.net/zhangxuekang/article/details/79531466