Angular2返回节点而不是元素

Angular2返回节点而不是元素,angular,class,typescript,Angular,Class,Typescript,错误:类型“节点”上不存在属性“classList” 如果未注释此setTimeout函数,则无法启动服务器。但当服务器运行并取消注释时。它运行正常,但仍会出错 谢谢。任何帮助都将不胜感激 export class AppComponent { title = 'Dashboard'; navbarmenu = NAVBAR; constructor(router:Router){ router.events.subscribe((event: NavigationEven

错误:类型“节点”上不存在属性“classList”

如果未注释此setTimeout函数,则无法启动服务器。但当服务器运行并取消注释时。它运行正常,但仍会出错

谢谢。任何帮助都将不胜感激

export class AppComponent {
  title = 'Dashboard';
  navbarmenu = NAVBAR;

  constructor(router:Router){
    router.events.subscribe((event: NavigationEvent) => {
      if(document.querySelector('.a-active')) document.querySelector('.a-active').classList.remove('a-active');
    });

    setTimeout(() => {
      let testTry = document.querySelector('.submenu li a.is-active');

      if(testTry){
        let anchor = testTry.parentNode.parentNode.parentNode.children[0];

        // anchor is a node and throwing an error.

        anchor.classList.add('a-active');
      }
    }
  }
}
试试这个解决办法!我不确定它为什么返回node。在纯javascript中,您的代码应该可以工作。也许是打字脚本上的错误

Polyfill: 或

通知我它是否有效

setTimeout(() => {
    let isActive = document.querySelector('.submenu li a.is-active')

    if(isActive) isActive.closest('ul').closest('li').children[0].classList.add('a-active')
})