我在谷歌上搜索,在StackOverflow,可能是现在过时的HTML5规范,但还没有找到答案。我觉得好像缺少一些明显的东西。
我想知道是否有一种方法可以指定何时创建HTML5自定义元素,该新元素的用户应(或必须对元素规范“有效”)每个文档使用一次?
例如,对于HTML的元素,“head”,“body”,“main”等只应在文档中使用一次。我无法找到使用自定义元素执行此操作的方法。这可能是使用香草HTML5,聚合物还是其他方法吗?
感谢任何可以提供帮助的人。
答案 0 :(得分:1)
使用内置回调来跟踪自定义元素的使用情况:
var MyElementPrototype = Object.create(HTMLElement.prototype);
MyElementPrototype.len = 0;
MyElementPrototype.attachedCallback = function() {
MyElementPrototype.len++;
if (MyElementPrototype.len > 1) {
alert('The Document is not Valid'); // Do Something
}
};
MyElementPrototype.detachedCallback = function() {
MyElementPrototype.len--;
};
document.registerElement(
'my-element',
{
prototype: MyElementPrototype
}
);
答案 1 :(得分:0)
如果您只想验证文档,可以使用JavaScript轻松完成。
JsFiddle: http://jsfiddle.net/4AXaS/
<强> HTML:强>
<div>Lorem</div>
<div>Ipsum</div>
<强> JavaScript的:强>
$(function () {
if ($('div').length > 1) {
alert("Can't use this element more than once in the document");
}
});