JavaScript中的特性和属性有什么不一样?

在看jquery的时候看到的.
例如:

btn.className = "btn"; 
btn.setAttribute("class", "btn"); 

这两个操作的都是同一个东西, 差别到底在哪里呢?

阅读 3.8k
3 个回答

特性和属性之分是相对于HTML标签来说的,由于以前的浏览器是没有属性和特性区分的,两者取出的值也就是一样的,但是随着发展,出现了一些特殊的值,例如一些布尔值属性,只要写上这个属性名就可以起作用,不论值是多少。

举个例子,一个input标签,添加一个属性<input disabled = "me">,如果你使用getAttribute获得的值属于特性值,结果是me,而通过.disabled获得的值是属性值,结果是true。

这也就是jquery中封装了attr,和prop两个方法的原因。

一个是属性 一个是方法

推荐问题
宣传栏