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

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

我使用extended tinymce的配置参数来识别这些微数据属性:
tinyMCE.init({
    ...
    schema: "html5",
    extended_valid_elements:"@[itemscope|itemtype|itemid|itemprop|content],div,span,time[datetime]"
    ...
});

而且一切正常。但是,当我使用插件时,微小的mce仍通过向itemscope属性添加空值来“纠正”我的标记,例如:itemscope=""。但是itemscope属性是一个 bool 元素,AFAIU表示该元素不应该有任何值。

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

谢谢!

最佳答案

bool 属性must either be the empty string, or the name of the attribute itself的值。因此,<div itemscope><div itemscope=""><div itemscope="itemscope">都是等效的。

10-02 18:24