【发布时间】:2012-04-01 12:18:36
【问题描述】:
我想编写一个简单的 jQuery 插件,在指定元素下显示内联模式。我的想法是让脚本根据元素上指定的数据属性自动初始化。
一个非常基本的例子:
<p data-modal-target>Hover over me for an inline modal!</p>
<div data-modal-content data-modal-align="right" data-modal-trigger="hover" data-modal-offset="10px"><!-- any desired syntax can go here --></div>
我只是想知道上面示例中的data-modal-target 是否有效,还是必须是data-modal-target="true"?我不关心比 IE9 等更糟糕的东西,我唯一的要求是它必须是有效的 HTML5。
【问题讨论】:
-
我找不到自定义数据属性是否需要值;并且我仍然不确定是否要省略该值,或者只是为了安全而将其包含在内。 W3C 规范令人困惑(不足为奇)。我认为这可能取决于使用这些值的脚本。 (由于长度限制,评论示例在下面继续)。
-
例如,我使用的插件具有自定义数据属性和默认值:一些字符串,一些布尔值(引导我寻找这个问题)。布尔数据混合了默认值是真还是假;它正在检查它是否存在或具有值。它正在检查值是真还是空(对于真)或假。但是对空的检查在代码中是明确的;它不是“内置的”。而且,它不会检查属性名称,例如 boolean 属性需要的 data-abc="data-abc" ;这会导致错误。
标签: html custom-data-attribute html5-data