首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模板标签中的html和body标记

模板标签中的html和body标记
EN

Stack Overflow用户
提问于 2018-10-05 22:31:46
回答 1查看 387关注 0票数 1

我有一个自定义元素,我想用DOM模板标记填充它。除了html和body标记之外,所有东西似乎都被插入到自定义元素中。这是否意味着在自定义元素中不允许使用html和body标记?这是我的密码

代码语言:javascript
复制
<template id="legacy-code-template">
<style>
  body {
    background:red;
  }
</style>
<html><body><p>Sample text</p></body></html>
</template>
<legacy-code></legacy-code>
<script>
    class LegacyCode extends HTMLElement {
        constructor() {
            super();

            const template = document
                .getElementById('legacy-code-template')
                .content;
            const shadowRoot = this.attachShadow({mode: 'open'})
                .appendChild(template.cloneNode(true));
        }
    }

    customElements.define('legacy-code', LegacyCode);
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-06 15:09:43

是。

HTML5文档的根节点必须是<html>元素。<html>元素的子节点必须是<head><body>元素。

实际上是你可以省略它们,但它们是隐含的

在您的文档中,如果不指定<html><head><body>元素,浏览器将添加它们,并且您定义的根节点将根据它们的类型和它们在页面中的位置被添加到<head><body>中:

  • <link><meta><script>.如果它们位于文档的开头,则在<head>内部。
  • <div><span><section><body>中的自定义元素。
  • 该元素中的所有后续元素都已插入。

自定义元素的内容模型类型为短语化可缩合 content。这意味着它必须插入到<body>元素中。

自定义元素中的<html><body>无效并被忽略。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52674019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档