Javascript 将类添加到Angular中的直接父元素

Javascript 将类添加到Angular中的直接父元素,javascript,angular,Javascript,Angular,我有一个元素,它有一个动态创建的类。如果子元素有一个特定的类,我想向它的父元素添加一个新类 <a [ngclass]="addClassHere"> //need to add class here if child has a specific class <div [ngclass]="getScheduleDateColour(date.day)">{{date.day}}</div> //child cl

我有一个元素,它有一个动态创建的类。如果子元素有一个特定的类,我想向它的父元素添加一个新类

<a [ngclass]="addClassHere"> //need to add class here if child has a specific class
    <div [ngclass]="getScheduleDateColour(date.day)">{{date.day}}</div> //child class
</a>
//如果子级有特定的类,则需要在此处添加类
{{date.day}//子类

a元素是由包创建的,不能直接访问。

假设您的
getScheduleDateColor()
返回不同的类名称,例如'childClass1'、'childClass2'等等,并且需要的是'childClass1'。 现在,您可以通过以下方式根据孩子的类别为家长设置新类别:

<a [ngclass]="childDiv.className == 'childClass1'? 'ReqParentClass' : '' "> 
    <div #childDiv [ngclass]="getScheduleDateColour(date.day)">{{date.day}}</div> 
</a>

{{date.day}

PS:如果要添加不同的父类(如果child不是必需的),也可以在三元运算符中添加它,如:
“childClass1”?”ReqParentClass':“ElseThisWillBeTheParentClass”

您可以选择使用 用于父元素和子元素,并从TS文件中实际更改它们 在html中也是如此

<div #parentElem class="aquaDay">
    <div #childElem class="aqua">day</div>
</div>
我在这里创建了一个简单的演示:

  @ViewChild("parentElem") parent: ElementRef;
  @ViewChild("childElem") child: ElementRef;

  changeColour() {
    const childClass = this.child.nativeElement.className;
    this.parent.nativeElement.className =
      childClass === "aqua" ? "greenDay" : "aquaDay";
  }