Maison > Questions et réponses > le corps du texte
<ul ng-repeat="item in city" repeat-done="cityFinish()">
<li class="city city{{$index}}">{{item}}</li>
</ul>
$scope.cityFinish = function() {
$('.city').css('background', 'red');
$('.city1').css('background', 'green');
};
Parmi eux $('.city').css('background', 'red');
有效,但是$('.city1').css('background', 'green');
est invalide, quelle en est la raison ?
为情所困2017-06-12 09:27:54
Il est possible d'essayer dans mon projet, city{{$index}} vient de city0. Vous pouvez vérifier l'élément pour voir si la classe a changé en city1, puis vous pouvez essayer le point d'arrêt $('.city1') pour voir si l'élément dom est obtenu
淡淡烟草味2017-06-12 09:27:54
Vous examinez d'abord les éléments. Assurez-vous que sa classe est correcte.
Tout d’abord, je ne sais pas comment est écrit votre repeat-done
. Cela ne devrait pas venir avec angulairejs. repeat-done
是如何写的。这应该不是 angularjs 自带的。
其次,为什么不把颜色写到 css 中,然后用 ng-class
或者 ng-style
Deuxièmement, pourquoi ne pas écrire la couleur en CSS puis utiliser ng-class
ou ng-style
pour la traiter. Vous devez utiliser jQuery.
Votre exigence est-elle qu'à l'exception de la couleur de fond d'indice 1, qui est verte, tout le reste soit rouge ?
<ul ng-repeat="(index, item) in city">
<li class="bg-red" ng-class="{'bg-green': $index == 1}">{{item}}</li>
</ul>
.bg-red {
background: 'red';
}
.bg-green {
background: 'green';
}
Si vous ne pouvez pas utiliser jQuery, ne l'utilisez pas, sans parler du jqLite intégré que vous pouvez utiliser. . . jQuery est une bibliothèque tierce. Si vous ne la conditionnez pas pour angulairejs, vous ne pouvez pas garantir que son exécution aura lieu après la génération du nœud, en particulier pour les directives personnalisées.