Javascript 如何对使用ViewChild访问的元素使用JSDOM操作
Mycomponent.html:Javascript 如何对使用ViewChild访问的元素使用JSDOM操作,javascript,angular,Javascript,Angular,Mycomponent.html: <div #container> <div id="target"> something </div> </div> <button type="button" (click)="onClick()">Click</button> @ViewChild('container', {static: false}) container; onClick()
<div #container>
<div id="target">
something
</div>
</div>
<button type="button" (click)="onClick()">Click</button>
@ViewChild('container', {static: false}) container;
onClick() {
console.log(this.container.nativeElement.getElementById('target'));
}
因此,我想对使用ViewChild
获取的元素使用javascript dom方法,它说:
container.nativeElement.getElementById`不是函数
我如何解决这个问题?是否有其他方法?如果需要按id获取元素,可以使用:
document.getElementById('target') as HTMLElement;
阅读本文您可以使用查询选择器获取元素
此.container.nativeElement.querySelector(“#target”)。
getElementById
可在文档中找到,而不在任何本机元素中找到container.nativeElement
是您可以对其执行操作的html元素,因此,如果我想通过id在我的容器中获取元素,我应该怎么做?它将是一个级别的html,如您的示例所示?我知道这一点,我想在容器中获取元素,而不是在整个文档中。真棒的家伙,你知道为什么getElementById
不起作用吗?我的意思是querySelector
也是js对的吗?getElementById在javascript DOM元素上可用,不幸的是在angular元素上不可用。