在jQuery中,为什么这样:
$('<div open="whatever">').attr('open')
总是评价为’开放’而不是’什么’?相比之下,这:
$('<div asdf="whatever">').attr('asdf')
按预期评估“任何”.
是的,我知道open和asdf不是有效的HTML属性;我不是在寻找那些说“只是使用数据打开”等等的答案……我正在寻找上述行为的解释.
解决方法
open实际上是一个
valid attribute for HTML5,意思是布尔值.如果是这种情况,我怀疑如果你有“开放”设置,浏览器会将其评估为真,并返回它是“开放”.
我更好奇地知道为什么它会“开放”而不是“真实”.可能是由于各种浏览器的实现不完整.他们可能以这种或那种方式将该属性放在一边以备后用.
[附录:根据评论,这似乎是HTML对待布尔的方式]