如何从元素中添加/删除类列表?

use*_*724 2 angularjs angularjs-directive

我见过的大多数问题都与使用ng-class有关.但是,我有一个很多类的列表,我需要为每个元素添加2个类.这是一个指令.

"<div><div class='card {{suit}} {{value}}'></div></div>"
Run Code Online (Sandbox Code Playgroud)

我不认为列出带有布尔值的ng-class的每个类都是可行的.是否有一种删除和添加类的角度方式?

就像是:

link: (scope,elem,attrs){
    elem.firstChild().removeAllClasses();
    elem.firstChild().addClass(attr.suit, attr.value, "card");
}
Run Code Online (Sandbox Code Playgroud)

Sol*_*gon 5

如果代码在您的指令中,您可以使用jqLit​​e.

link: (scope,elem,attrs){
    elem.removeAttr('class');
    elem.addClass(attr.suit);
    elem.addClass(attr.value);
    elem.addClass("card");
}
Run Code Online (Sandbox Code Playgroud)

这是所有支持的jqlite函数的列表

https://docs.angularjs.org/api/ng/function/angular.element