为什么jQuery总是为$.attr(‘open’)返回’open’,而不管属性的实际值是多少?

在jQuery中,为什么这样:

$('<div open="whatever">').attr('open')

总是评价为’开放’而不是’什么’?相比之下,这:

$('<div asdf="whatever">').attr('asdf')

按预期评估“任何”.

是的,我知道open和asdf不是有效的HTML属性;我不是在寻找那些说“只是使用数据打开”等等的答案……我正在寻找上述行为的解释.

解决方法

open实际上是一个 valid attribute for HTML5,意思是布尔值.如果是这种情况,我怀疑如果你有“开放”设置,浏览器会将其评估为真,并返回它是“开放”.

我更好奇地知道为什么它会“开放”而不是“真实”.可能是由于各种浏览器的实现不完整.他们可能以这种或那种方式将该属性放在一边以备后用.

[附录:根据评论,这似乎是HTML对待布尔的方式]

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...