【发布时间】:2020-10-20 01:12:50
【问题描述】:
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>
CSS
.activeColor {
background-color: grey;
}
JavaScript
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,只有 2nd div 有灰色突出显示,其余颜色应该保持不变,反之亦然。
【问题讨论】:
-
您可以通过如下方式在点击时传递事件
(click)="nodeClickLevel1(event)并通过event.target访问方法中的相同元素。看看这个post。