从DOM中获取元素-Angular 4

从DOM中获取元素-Angular 4,angular,devexpress,Angular,Devexpress,我需要从DOM中获取一个元素并向其添加样式(背景色)。我不能在该元素上使用带有#someId的ViewChild,因为该元素不在我的html中,一旦我打开弹出窗口,它就会呈现。该元素的类是“dx弹出内容”。我尝试了,但无法使用,无法使用this.elRef.nativeElement.querySelector('dx-popup-content'),因为目标元素不在本机元素中(在本例中为dx调度器)。我正在使用DevExpress,以防这很重要 基本上,我想选择它并更改函数中的样式: open

我需要从DOM中获取一个元素并向其添加样式(背景色)。我不能在该元素上使用带有#someId的ViewChild,因为该元素不在我的html中,一旦我打开弹出窗口,它就会呈现。该元素的类是“dx弹出内容”。我尝试了,但无法使用,无法使用
this.elRef.nativeElement.querySelector('dx-popup-content')
,因为目标元素不在本机元素中(在本例中为dx调度器)。我正在使用DevExpress,以防这很重要

基本上,我想选择它并更改函数中的样式:

openTooltip(event) {
    // event.cancel = true;
    this.prepareTooltipData(event.appointmentData);
  }

有什么建议吗?

您可以随时使用
文档

var elem = document.querySelector('dx-popup-content');

我很好奇:这怎么不在你的HTML中呢?你在使用图书馆,在飞行中弹出一个窗口

无论如何,如果你真的不能使用ViewChild,你仍然可以使用vanilla JS:

let popup = document.getElementById('dx-popup-content');

我建议您使用ID,而不是类,以确保获得正确的元素

不建议这样做。见#2不建议这样做。见#2谢谢!例如,我使用devexpress,它会在您单击输入后呈现下拉列表的html。我怎样才能将类添加到这个元素,或者样式?请不要给我angularJs博客。这是有角度的。你的html是在html模板中,还是在动态创建?我推荐渲染器2。然后可以执行此操作。renderer.setStyle()。看,这不是angularjs博客,如果你点击了它,你就会看到它。openTooltip处理程序用于什么事件?