是否有任何无意义的 HTML 标签来携带额外的元数据,例如指定块/区域的 JavaScript 属性?喜欢:
<div class="item">
<meaninglesselement data-id="123">
<meaninglesselement data-type="sometype">
<meaninglesselement data-validate="true">
...
</div>
我知道我可以移动data-*
属性为div class="item"
但我想要一个干净代码的解决方案,即使会有很多参数。
如果整个文档的元数据可能对访问者或机器人有用,您应该使用meta element http://www.w3.org/TR/html5/document-metadata.html#the-meta-element。您只能使用defined http://www.w3.org/TR/html5/document-metadata.html#standard-metadata-names or 挂号的name values http://wiki.whatwg.org/wiki/MetaExtensions(但你可以register http://www.w3.org/TR/html5/document-metadata.html#other-metadata-nameswiki 中的新内容)。
对于仅脚本等所需的元数据,您可以使用data-*属性 http://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes现有元素(例如body
)或者您可以使用script element http://www.w3.org/TR/html5/scripting-1.html#the-script-element:
The script
元素允许作者包含动态脚本和数据块在他们的文件中。元素不代表用户的内容.
[…]
当用于包含数据块(与脚本相反)时,数据必须内联嵌入,数据的格式必须使用type
属性,即src
不得指定属性,并且属性的内容script
元素必须符合为所使用的格式定义的要求。
您可以将该元素放置在head
或在文档正文中措辞内容 http://www.w3.org/TR/html5/dom.html#phrasing-content-1 (like span
)也可以使用。
有一个用作数据块(而不是脚本)的信息示例:
<script type="text/x-game-map">
........U.........e
o............A....e
.....A.....AAA....e
.A..AAA...AAAAA...e
</script>
因此您可以使用 HTML 或 JSON 或任何您需要的格式。
如果您想使用 HTML,它可能 (***) 如下所示:
<div class="item">
<script type="text/html">
<div data-id="123"></div>
<div data-foo="bar"></div>
<div>foobar</div>
</script>
</div>
*** (我不知道 https://stackoverflow.com/q/19135200/1591669如果它必须是一个“完整”的符合 HTML 文档,或者是否也允许“片段”(如我的示例中所示))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)