5

在使用头部或主体添加模板标签之间是否应该考虑什么?前任:

conste template = document.createElement('template');
// add template content etc.

document.body.appendChild(template);
// or
document.head.appendChild(template);

我只是偶然发现了一个动态添加模板的代码库,head我的直觉告诉我,这可能不是最好的主意,但也许没关系?

4

2 回答 2

4

模板是可以放置它们的所有元素中最灵活的。规范说

可以使用此元素的上下文:
- 预期元数据内容的位置。
- 需要措辞内容的地方。
- 需要脚本支持元素的地方。
- 作为没有 span 属性的 colgroup 元素的子元素。

“需要元数据内容的地方。” 本质上意味着在头脑中。

“需要措辞内容的地方。” 本质上意味着body元素的有效子元素可以去的任何地方。

“需要脚本支持元素的地方”意味着它甚至可以出现在短语内容不能出现的地方,例如 ul、ol、table、tbody、tr 等元素的子元素。

于 2018-09-20T22:22:09.643 回答
0

我认为它应该在<body>. Mozilla将标签中允许的内容定义为:<head>

如果文档是<iframe>srcdoc 文档,或者如果标题信息可从更高级别的协议获得,则元数据内容的零个或多个元素。否则,元数据内容的一个或多个元素,其中恰好一个是<title>元素。

查看MDN上的示例,他们也在<template>正文中添加了标签。

于 2018-09-20T21:55:16.660 回答