AngularJS-使用ng style有条件地将样式应用于ng repeat中的第一个元素

AngularJS-使用ng style有条件地将样式应用于ng repeat中的第一个元素,angularjs,ng-style,Angularjs,Ng Style,我有一个样式对象,我只需要为第一个元素设置另一个css样式。 我专门为此创建了一个指令,但它不起作用 我将感谢你的帮助 代码如下: <div class="row" ng-style="rowCss" ng-repeat="top in gridObj" ng-zero> 谢谢 您可以使用版本1.1.5中新增的ng if-有条件地操纵CSS样式。您可以使用版本1.1.5中新增的ng if-有条件地操纵CSS样式。您可以使用$index跟踪第n个元素。不确定是否已创建该指令以解决此问

我有一个样式对象,我只需要为第一个元素设置另一个css样式。 我专门为此创建了一个指令,但它不起作用

我将感谢你的帮助

代码如下:

<div class="row" ng-style="rowCss" ng-repeat="top in gridObj" ng-zero>

谢谢

您可以使用版本1.1.5中新增的ng if-有条件地操纵CSS样式。

您可以使用版本1.1.5中新增的ng if-有条件地操纵CSS样式。

您可以使用$index跟踪第n个元素。不确定是否已创建该指令以解决此问题,但可以仅使用ng attr style=“{$index==1?”“padding top”:“0px”}”


另外,您不应该在控制器中操纵HTML或引用presentation/css。

您可以使用$index跟踪第n个元素。不确定是否已创建该指令以解决此问题,但可以仅使用ng attr style=“{$index==1?”“padding top”:“0px”}”


另外,您不应该在控制器中操作HTML或引用presentation/css。

您不需要指令。ng repeat scope在repeat scope中公开一个属性
$first
,该属性对于第一个元素为true。您可以为第一行定义一个类,并使用ng类应用它


ng class=“{'my-first-class':$first}”

您不需要指令。ng repeat scope在repeat scope中公开一个属性
$first
,该属性对于第一个元素为true。您可以为第一行定义一个类,并使用ng类应用它

ng class=“{'my-first-class':$first}”


...


...

您遇到此问题是因为cssRow在指令ngZero中覆盖了您的样式。您可以根据需要使用其他解决方案;顺便说一句,argument元素已经是jqLite包装的元素,因此无需再次在jQuery中包装它。出现此问题是因为cssRow在指令ngZero中重写了您的样式。您可以根据需要使用其他解决方案;顺便说一句,argument元素已经是jqLite包装的元素,因此无需再次在jQuery中包装它。
<div class="row" 
    ng-style="{ true : rowCss }[$first]" 
    ng-repeat="top in gridObj">
    ...