如何设置与给定值匹配的元素的ID?

时间:2019-07-05 09:05:10

标签: html angular angular7

我在Angular 7中具有以下内容:

<th *ngFor="let day of weekDays"><div>{{day}}</div></th>

但要为所有<th id="today"中与weekDays对应/相等的单个元素设置today

鉴于:

  this.today = "Fri 5/7";

结果应为:

<th id="today"><div>Fri 5/7</div></th>
<th><div>Sat 6/7</div></th>
<th><div>Sun 7/7</div></th>
<th><div>Mon 8/7</div></th>
<th><div>Tue 9/7</div></th>
<th><div>Wed 10/7</div></th>
<th><div>Thu 11/7</div></th>

我该怎么做?

4 个答案:

答案 0 :(得分:4)

尝试类似的方法

 <th *ngFor="let day of weekDays" [attr.id]="today==day?'today':null"><div>{{day}}</div></th>

答案 1 :(得分:1)

您应该调用一个根据日期设置id的函数:

<th *ngFor="let day of weekDays" [attr.id]="returnStringBasedOnCondition()"><div>{{day}}</div></th>

,您可以使用以下链接获取today

How to check if input date is equal to today's date?

get current date with 'yyyy-MM-dd' format in Angular 4

答案 2 :(得分:1)

您可以像这样添加条件属性。如果为null,它将删除您的属性:

<th *ngFor="let day of weekDays" 
    [attr.id]="value === day ? 'today' : null">
    <div>{{day}}</div>
</th>

答案 3 :(得分:0)

您可以执行以下操作:

<th *ngFor="let day of weekDays" [id.today]="isToday()"><div>{{day}}</div></th>

当然还要在打字稿中添加函数isToday()。 我通常使用条件类,并且从未尝试使用条件ID,但这应该可行。