document.html.className在angular2中不起作用

时间:2017-07-24 13:20:26

标签: html typescript dom

以下代码在我从正文标记中删除类时效果很好。

switchTheme(themeCode: string) {
    document.body.className = '';
    document.querySelector('body').classList.add(themeCode);
  }

但我无法从HTML标记中删除一个类,如下所示。

switchTheme(themeCode: string) {
   document.html.className = '';
   document.querySelector('html').classList.add(themeCode);
}

它在函数的第一行中给出以下错误。

属性' html'类型'文档'

上不存在

任何帮助?

1 个答案:

答案 0 :(得分:2)

那是因为document没有此html属性 这不是打字稿问题,它是javascript,尝试在你的控制台中运行:

console.log(document.html);

你会得到undefined

要获得对DOM的html部分的引用,您需要使用document.documentElement属性(the type definitionMDN):

console.log(document.documentElement);