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

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

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

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

阅读 3.8k
3 个回答

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

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

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

一个是属性 一个是方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏