【发布时间】:2012-03-01 22:40:06
【问题描述】:
在 jQuery 中,为什么会这样:
$('<div open="whatever">').attr('open')
总是计算为'open' 而不是'whatever'?相比之下,这个:
$('<div asdf="whatever">').attr('asdf')
按预期计算为'whatever'。
是的,我知道open 和asdf 不是有效的HTML 属性;我不是在寻找类似“只使用data-open”之类的答案……我在寻找对上述行为的解释。
【问题讨论】:
-
你为什么首先尝试这样做?这可能是未记录的行为。
-
@helixed 你从来没有好奇过吗? ;-) Ben 可能一直在使用任意属性(现代浏览器会支持这一点),当他的应用程序无法运行时,他最终注意到这是
open属性并想知道“嗯?为什么?” -
@helixed,我注意到在处理一些遗留代码库的 html 时使用了裸
open=属性。所以答案是“我一开始不会尝试这样做,我会使用 data- 属性”。 -
@Ben Lee 我并不是要批评你的提问。我只是想知道在什么情况下你会想知道这个。
标签: jquery attributes jquery-attributes