根据符号动态地将类添加到值

时间:2016-02-11 14:36:18

标签: javascript html angularjs ng-class

如果整数是正数或负数,我想动态添加类。 我尝试从HTML中调用一个函数,但这似乎是一种正确的方法。 以下是我的傻瓜..

Add class from html

<div ng-repeat="i in test">
    <span class="test">  {{getValue(i)}} </span> 
</div>

我想知道是否有任何方式可以从HTML中识别符号(+/-)并在HTML本身中解决它们。

3 个答案:

答案 0 :(得分:2)

您应该使用ng-class,如下所示:

// JS
$scope.isPositive = function(value) {
    return value.indexOf('-') == -1;
}

并且

// HTML
<style>.green { color: green; } .red { color: red; }</style>
<!-- ... --> 
<span ng-class="isPositive(i) ? 'green' : 'red'">  {{getValue(i)}} </span> 

Working Plunker

修改

为避免使用此功能,请直接签入签到:

<span ng-class="i.indexOf('-') == -1 ? 'green' : 'red'">  {{getValue(i)}} </span> 

Updated plunker

答案 1 :(得分:1)

您可以在角度

中添加这样的内容
ng-class="{'test': getValue(i) < 0}"

<span ng-class="{'test': getValue(i) < 0}">  {{getValue(i)}} </span> 

答案 2 :(得分:0)

在JS中只添加一个条件:

if( $("span").text().indexOf('+') != -1) {
    $("span").addClass("positiveClass");
}

jsfiddle

上查看此操作