Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

514
Vistas
How to get current row HTML Table cell element?

I have a angular material table. If I click one row, i wanted to fetch the HTMLTableCellElement of the selected row . I tried using viewChild but the problem is i am getting whole table html element. Expected output HTMLTableCellElement output Below is my code. Please Help me to acheive this scenario ! https://stackblitz.com/edit/angular-material-table-data-source-nym2vx?file=app/app.component.html

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

In your example when you click on the a tag you can also send that tag to your function:

  <mat-cell *matCellDef="let element" id="{{ element.position }}">
    <a href="javascript:;" (click)="viewhtmlData($event.target)">{{
      element.name
    }}</a>
  </mat-cell>

Then, inside your function you can get the parent of that a tag which is the mat-cell containing it, like so:

  viewhtmlData(aTag: HTMLElement) {
    console.log('Selected Row HtML data', aTag.parentElement);
  }

  <!-- CONSOLE OUTPUT -->
  <mat-cell _ngcontent-c69="" class="mat-cell cdk-column-name mat-column-name" role="gridcell" id="3">
    <a _ngcontent-c69="" href="javascript:;">Lithium</a>
  </mat-cell>
about 4 years ago · Juan Pablo Isaza Denunciar

0

There are two changes you can make from the sample you have provided.

Change : 1 (in .html side) Pass event via the function : viewhtmlData()

  <a href="javascript:;" (click)="viewhtmlData()">{{ element.name }}</a>

to

 <a href="javascript:;" (click)="viewhtmlData(element)">{{ element.name }}</a>

Change 2:(in .ts side) Pass the element through the function

// This function will show entire table contents
  viewhtmlData() {
    console.log('Selected Row HtML data',this.table);
  }

to

// The element data from  .html is passed through the function
  viewhtmlData($event) {
    console.log('Selected Row HtML data',$event);
    this.selectedElement =$event;
    var Row = document.getElementById($event.position)  as HTMLTableCellElement;    
    this.selectedCellHtml = Row;
   
    console.log('Selected Row HtML data',this.selectedCellHtml);
    
  }

For further reference, you can go through the below sample: https://stackblitz.com/edit/angular-material-table-data-source-gpybg5?file=app%2Fapp.component.ts

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda