我正在编写一个 jQuery 插件,它基本上在单个<div>
. 我正在考虑<meta>
使用<div>
.
如果我将<meta>
标签放在文档正文中,它是有效的 HTML5,旧浏览器在解析页面时不会将所有<meta>
标签移到头部是否合理安全?
data-
属性是一个很好的解决方案,但我计划有很多,所以我认为类似的东西<meta>
会更整洁。
我正在编写一个 jQuery 插件,它基本上在单个<div>
. 我正在考虑<meta>
使用<div>
.
如果我将<meta>
标签放在文档正文中,它是有效的 HTML5,旧浏览器在解析页面时不会将所有<meta>
标签移到头部是否合理安全?
data-
属性是一个很好的解决方案,但我计划有很多,所以我认为类似的东西<meta>
会更整洁。
该<meta>
元素仅在<head>
HTML5 文档中有效(元数据内容模型仅在 中可接受<head>
)。您应该使用 HTML5 jQuery 插件来传递配置数据是使用可以从 jQuery 访问的data-*
属性.data()
,使用.
所以你的标记可能是:
<div class="widget" data-foo="bar"><div>
你的 jQuery 将是:
$('.widget').widget({...options...});
这将是一个使用的函数:
$.fn.widget = function (...) {
return this.each(function () {
...code...
options.foo = $(this).data('foo'); //gets the value 'bar'
...more code...
});
};
回复 OP 评论:
您使用的属性数量没有限制data-*
,如果只是用于格式化,请将它们拆分为多行。空白在 HTML 中被压缩:
<div class="widget"
data-foo="bar"
data-fizz="buzz"
data-lorem="ipsum"
...
data-xyz="abc">
...contents...
</div>
如果您有充分的理由将数据与数据分开,<div>
您可以使用一个<input>
字段,type="hidden"
当我有一个需要与表单一起提交的交互式表单小部件时,我通常会使用它。
元不是要走的路,数据属性怎么样
除了头部之外,您不能<meta>
在文档的任何部分放置标签。
您可以在<meta>
标签本身内使用标签将该标签绑定到您的插件。 <meta>
标签非常灵活。
META 元素可用于识别文档的属性(例如,作者、到期日期、关键字列表等)并将值分配给这些属性。本规范没有定义一组规范的属性。
每个 META 元素指定一个属性/值对。name 属性标识属性,content 属性指定属性的值。
例如,以下声明为 Author 属性设置一个值:
<META name="Author" content="Dave Raggett">
lang 属性可以与 META 一起使用来指定 content 属性值的语言。这使语音合成器能够应用与语言相关的发音规则。
在这个例子中,作者的名字被声明为法语:
<META name="Author" lang="fr" content="Arnaud Le Hors">
笔记。META 元素是用于指定元数据的通用机制。但是,一些 HTML 元素和属性已经处理了某些元数据,作者可能会使用而不是 META 来指定这些元数据:TITLE 元素、ADDRESS 元素、INS 和 DEL 元素、title 属性和 cite 属性.
笔记。当 META 元素指定的属性采用 URI 值时,一些作者更喜欢通过 LINK 元素指定元数据。因此,以下元数据声明:
<META name="DC.identifier"
content="http://www.ietf.org/rfc/rfc1866.txt">
也可以写成:
<LINK rel="DC.identifier" href="content="http://www.ietf.org/rfc/rfc1866.txt">
更多/来源:
http://www.w3.org/TR/html4/appendix/notes.html#hB.4和 http://www.w3.org/TR/html4/struct/global.html#h-7.4.4.2