【发布时间】:2011-04-27 19:28:37
【问题描述】:
这个问题与jQuery 本身无关,但我发现了一个名为Metadata 的插件,找到了there,其中一个示例使用了自定义标签属性:<li data="{some:'random', json: 'data'}">...</li>。
问:是跨浏览器吗?验证标记时会失败吗?
谢谢。
【问题讨论】:
这个问题与jQuery 本身无关,但我发现了一个名为Metadata 的插件,找到了there,其中一个示例使用了自定义标签属性:<li data="{some:'random', json: 'data'}">...</li>。
问:是跨浏览器吗?验证标记时会失败吗?
谢谢。
【问题讨论】:
浏览器不会在意,因为很少有浏览器会真正验证 HTML。但是,如果您尝试将其视为 XHTML,它将失败,因为它不是有效的 XHTML。
【讨论】:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 或者我仍然可以使用它但尝试验证我的标记将毫无用处?
<html xmlns:somedata="http://example.com/somedata.dtd"> ... <li somedata:data="{some:'random', json: 'data'}">
浏览器不会在意。大多数(如果不是所有浏览器)只是忽略非法属性。但是,如果您尝试验证它,它将失败。您需要做的是弄清楚您是否对此感到满意。如果您只是保留文档类型。如果不更改文档类型。需要注意的一件事是,即使您保留 doctype 和非法属性,它也不会以任何未验证的方式影响您的网站。
事实上,如果在页面加载后添加数据属性,您的标记可能仍会验证 - 这意味着在验证发生时数据属性不会存在。
【讨论】: