recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Concernant ng-repeat, y a-t-il un problème pour obtenir les éléments après le rendu DOM?

Après avoir utilisé ng-repeat pour restituer les données, je souhaite modifier le style d'un élément DOM spécifié. Voici l'exemple de code

.
    <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 ?

曾经蜡笔没有小新曾经蜡笔没有小新2716 Il y a quelques jours912

répondre à tous(2)je répondrai

  • 为情所困

    为情所困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

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味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-styleDeuxiè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.

    répondre
    0
  • Annulerrépondre