Skip to content

Instantly share code, notes, and snippets.

@bennadel
Created November 25, 2019 12:10
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bennadel/ccae8b66a0f7e6274d6ca47132a5088e to your computer and use it in GitHub Desktop.
Save bennadel/ccae8b66a0f7e6274d6ca47132a5088e to your computer and use it in GitHub Desktop.
TypeScript And .parentNode vs .parentElement In Angular 9.0.0-rc.3
@Component({
selector: "app-root",
styleUrls: [ "./app.component.less" ],
template:
`
<div class="foo">
<div class="bar">
<div class="baz">
<p>
<a (click)="handleClick( $event.target )">Find .bar</a>
</p>
</div>
</div>
</div>
`
})
export class AppComponent {
public handleClick( target: HTMLElement ) : void {
var barElement: HTMLElement | null = target;
// Continue walking up the DOM Tree until we find ".bar".
while ( barElement && ! barElement.classList.contains( "bar" ) ) {
barElement = barElement.parentNode;
}
console.log( "FOUND .bar !!" );
console.log( barElement );
}
}
public handleClick( target: HTMLElement ) : void {
var barElement: HTMLElement | null = target;
while ( barElement && ! barElement.classList.contains( "bar" ) ) {
barElement = ( barElement.parentNode as HTMLElement );
}
console.log( "FOUND .bar !!" );
console.log( barElement );
}
public handleClick( target: HTMLElement ) : void {
var barElement: HTMLElement | null = target;
while ( barElement && ! barElement.classList.contains( "bar" ) ) {
barElement = barElement.parentElement;
}
console.log( "FOUND .bar !!" );
console.log( barElement );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment