1

我正在编写一个 jQuery 插件,它基本上在单个<div>. 我正在考虑<meta>使用<div>.

如果我将<meta>标签放在文档正文中,它是有效的 HTML5,旧浏览器在解析页面时不会将所有<meta>标签移到头部是否合理安全?

data-属性是一个很好的解决方案,但我计划有很多,所以我认为类似的东西<meta>会更整洁。

4

4 回答 4

3

<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"当我有一个需要与表单一起提交的交互式表单小部件时,我通常会使用它。

于 2012-05-07T20:17:05.780 回答
1

元不是要走的路,数据属性怎么样

http://html5doctor.com/html5-custom-data-attributes/

于 2012-05-07T20:17:08.000 回答
1

除了头部之外,您不能<meta>在文档的任何部分放置标签。

您可以在<meta>标签本身内使用标签将该标签绑定到您的插件。 <meta>标签非常灵活。

于 2012-05-07T20:18:31.750 回答
1

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.4http://www.w3.org/TR/html4/struct/global.html#h-7.4.4.2

于 2012-06-27T15:50:08.140 回答