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";
}