HTML 4
从HTML 4的角度来看,属性是一个SGML构造。它们的极限定义在SGML Declaration of HTML 4:
QUANTITY SGMLREF
ATTCNT 60 -- increased --
ATTSPLEN 65536 -- These are the largest values --
LITLEN 65536 -- permitted in the declaration --
NAMELEN 65536 -- Avoid fixed limits in actual --
PILEN 65536 -- implementations of HTML UA's --
TAGLVL 100
TAGLEN 65536
GRPGTCNT 150
GRPCNT 64
这里的值是“ATTSPLEN”,这将是元素的属性规范列表(其应该是该元素的所有属性的总大小)的限制。上面的注释提到,应该避免固定的限制,但是,所以很可能除了可用的内存在大多数实现没有真正的限制。
HTML 5
HTML 5似乎不同,因为the spec说,“这个版本的HTML因此返回到非SGML基础。
稍后,当描述如何解析HTML 5时,出现以下段落(着重添加):
The algorithm described below places
no limit on the depth of the DOM tree
generated, or on the length of tag
names, attribute names, attribute
values, text nodes, etc. While
implementors are encouraged to avoid
arbitrary limits, it is recognized
that practical concerns will likely
force user agents to impose nesting
depth constraints.
所以我想这是你的答案。