HTML - 属性与属性

时间:2013-10-08 11:37:23

标签: javascript jquery html

id是HTML的属性或属性吗?

我应该$('#selector').attr('id');还是$('#selector').prop('id');

我读了很多文章,但仍然感到困惑。

有人可以向我解释一下属性和属性之间的区别吗? HTML / JS中的属性是非常简单的语言吗?

2 个答案:

答案 0 :(得分:130)

属性由HTML定义。属性由DOM定义。

某些HTML属性具有1:1映射到属性。 id就是这样的一个例子。

有些没有(例如value属性指定输入的初始值,但value属性指定当前值。

答案 1 :(得分:4)

是的,attr适用于html属性,因为它们是严格定义的。道具是属性。

例如,假设您有一个节点elem,类为“something”(原始元素不是jQuery对象)。 elem.className是属性,但是属性所在的位置。更改class属性也会自动更改属性,反之亦然。

目前,attr是混乱和混乱的,因为它已经尝试了两个功能的工作,因此存在许多错误。 jQuery.fn.prop的引入将解决几个阻塞程序,它应该从头开始分离代码,并为开发人员提供更快的功能来执行他们期望的操作。

让我在一秒内构成一个百分比,并说根据我在支持IRC和阅读其他代码的经验,attr的95%用例不必转换为prop。

<强> See More