7

我正在为 tinymce 编辑器构建一个插件,它将一些微数据添加到选定的文本中,我想确保最终的标记是有效的。根据微数据规范草案的规定,通过将属性添加itemscope到元素来指示新项目,例如:

<section itemscope itemtype="http://example.com/vocab/someobject" itemid="someid" >
<meta itemprop="topic" content="something very interesting" />
  ....
  other microdata stuff
</section> 

我已经扩展了 tinymce 的配置参数来识别这些微数据属性:

tinyMCE.init({
    ...
    schema: "html5",
    extended_valid_elements:"@[itemscope|itemtype|itemid|itemprop|content],div,span,time[datetime]"
    ...
});

一切正常。但是,当我使用该插件时,tiny mce 仍在通过向 itemscope 属性添加一个空值来“纠正”我的标记,如下所示itemscope="":但是 itemscope 属性是一个布尔元素,AFAIU 表示它应该没有值。

所以问题是,a) 如果 itemscope 属性有值,它仍然是有效的标记吗?b)如果不是,(如何)我可以配置 tinymce 以将 itemscope 保留为适当的布尔属性,而不是附加=""位?

谢谢!

4

1 回答 1

7

布尔属性的值必须是空字符串或属性本身的名称。所以, <div itemscope>, <div itemscope="">, 和<div itemscope="itemscope">都是等价的。

于 2012-04-16T07:20:36.287 回答