Angular 2:获取特定div中的所有<img/>标记

时间:2016-08-02 07:25:09

标签: angular

我需要一个函数来获取特定div中的所有图像,我尝试使用BrowserDomAdapter但是它会抛出此错误el.querySelector is not a function,事实上我还没有声明任何{我的组件中的{1}}变量

el

更新

如果变量中包含import { BrowserDomAdapter} from '@angular/platform-browser/src/browser/browser_adapter'; ... ... constructor(private dom:BrowserDomAdapter){ } ngAfterContentInit(){ this.lightboxImages(); } lightboxImages(){ let dom = new BrowserDomAdapter(); let images = dom.querySelector('img','.post-body'); console.log(images); } 标签,我该如何从中获取图像?

<img>

2 个答案:

答案 0 :(得分:4)

不应该使用

BrowserDomAdapter。它只适用于Angular内部使用。

我假设您要查询作为子项传递的元素,因为您使用ngAfterContentInit

@Component({
  ...
  template: `
  ...
  <div #wrapper>
    <ng-content></ng-content>
  </div>
  ...
`
})
export class MyComponent {
  @ViewChild('wrapper') wrapper:ElementRef;
  ngAfterContentInit(){
    this.lightboxImages();
  }
  lightboxImages(){
    let images = this.wrapper.nativeElement.querySelector('img','.post-body');
    console.log(images);
  }
}

答案 1 :(得分:-1)

  

this.containerBlock.nativeElement.getElementsByTagName(“ img”)

containerBlock是模板引用。这将返回div中带有模板引用containerBlock的所有img标签。