首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改DOCTYPE

如何更改DOCTYPE
EN

Stack Overflow用户
提问于 2010-06-30 16:55:16
回答 6查看 20.2K关注 0票数 12

这里有人知道如何用javascript动态改变doctype吗?

我已经尝试过这个函数,

代码语言:javascript
复制
document.doctype('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">'); ,

但它不起作用。

EN

回答 6

Stack Overflow用户

发布于 2013-01-25 19:02:17

我希望这篇文章能帮助你们中的一些人(在控制台中测试,它改变了实际的DOCTYPE)

代码语言:javascript
复制
var newDoctype = document.implementation.createDocumentType(
 'html',
 '-//W3C//DTD XHTML 1.0 Transitional//EN',
 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdd'
);

document.doctype.parentNode.replaceChild(newDoctype,document.doctype);
票数 12
EN

Stack Overflow用户

发布于 2010-06-30 17:01:36

document.doctype is a read-only属性,而不是方法,显然是根据MDC。

您需要的是:

https://developer.mozilla.org/En/DOM/DOMImplementation.createDocumentType

返回一个DocumentType对象,该对象可以在创建文档时与DOMImplementation.createDocument一起使用,也可以通过Node.insertBefore()或Node.replaceChild()放入文档中:

票数 3
EN

Stack Overflow用户

发布于 2011-05-31 07:15:35

为了证明这个用例的合理性,我有以下场景:

我有一个TAL模板,呈现了页面的一小部分。然后,我将该部分封装在父标记中,如下所示:

代码语言:javascript
复制
<html tal:omit-tag="True" ...>
  <body tal:omit-tag="True">
    <div class="wrapper" tal:omit-tag="True">
      ..

        <div id="mydiv" tal:content="foo()">Example content.</div>

      ..
    </div>
  </body>
</html>

这样,设计者就可以将此TAL模板作为独立的HTML文件进行查看/编辑。但是在TAL中不能省略DTD,因此不能将其添加到TAL中。

使用JavaScript添加它的一种简单方法如下:

代码语言:javascript
复制
if (!document.doctype) {
    document.write('<!doctype HTML>\n' + \
        document.head.outerHTML + \
        document.body.outerHTML);
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3147750

复制
相关文章

相似问题

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