HTML
<div class="nav--small nodeLevel newColor" id="rowItem-{{i}}" *ngFor="let root of rootzTemplates; let i=index" (click)="nodeClickLevel1(root,i)">
<p style="padding: 19px 1px;color: #fff; text-align: center;">
{{root}}
</p>
</div>
ซีเอสเอส
.activeColor {
background-color: grey;
}
จาวาสคริปต์
constructor(private el: ElementRef) { }
nodeClickLevel1(root, id){
this.myTag = this.el.nativeElement.querySelector("#rowItem-" + id);
this.myTag.classList.remove('activeColor');
this.myTag.classList.add('activeColor');
}
ตอนนี้ div เป็นไดนามิก บอกว่าจำนวนองค์ประกอบ div คือ 6 เมื่อคลิกเหตุการณ์ ฉันต้องเปลี่ยนสีพื้นหลัง div ที่ถูกคลิกโดยเฉพาะเป็นสีเทา และสีที่เหลือควรคงเดิม ตอนนี้ถ้าฉันคลิกที่ div บอกว่า 2 มีเพียง div ที่ 2 เท่านั้นที่มีการไฮไลต์ด้วยสีเทา สีที่เหลือควรคงเดิมและในทางกลับกัน
(click)="nodeClickLevel1(event)
และเข้าถึงองค์ประกอบเดียวกันในวิธีการผ่านทางevent.target
ลองดูโพสต์นี้ - person riorudo   schedule 12.10.2020