在JavaScript中,attribute和property用于表示元素的特性或属性,但它们有不同的含义和用途。
Attribute是指HTML标签中的属性,它们可以用于设置元素的初始值。一般来说,属性没有类型,值通常是字符串。我们可以使用getAttribute()方法来获取元素的属性值,例如:
var el = document.getElementById('myId'); var value = el.getAttribute('someattr');
而property则指的是DOM元素的属性,它反映了元素当前的状态。它们是直接在JavaScript中设置和访问的,它们的值可以是任何JavaScript类型,例如字符串,数字,对象等。我们可以使用. (dot)操作符来访问一个元素的属性,例如:
var el = document.getElementById('myId'); el.someProp = 'someValue'; var value = el.someProp;
属性和特性之间存在一些差异。例如,当我们设置一个input元素的value property时,它会反映在元素的值上;但是,当我们设置它的value attribute时,它不会立即反映在元素的值上,而是要等到下一次触发事件才能更新,因为它是设置初始值而不是当前值。