2014-12-24 2 views
0

Я пытаюсь заменить класс элемента «span» внутри элемента «a» внутри элемента «div».заменить класс span на id внутри 'a' на id внутри div по id

У меня есть этот DIV:

<div id="songList" ng-repeat="el in tracksList"> 
<a ng-click="playSelectedSong($index)" class="list-group-item" id="{{$index}}"><h4 class="list-group-item-heading"><span id="playStopSpan" class="glyphicon glyphicon-play"></span>{{el.title}}</h4><p class="list-group-item-text"><span class="glyphicon glyphicon-stats"></span>Stats: <span class="glyphicon glyphicon-play"></span> {{el.playback_count}} </p></a> 

И я хочу, чтобы заменить класс в элементе диапазона с идентификатором playStopSpan.

Мой документ дерево, как я понимаю: Div ->в ->интервал для каждого элемента в tracksList.

Я пробовал несколько подходов, но еще не прибил его. До сих пор у меня есть это:

$("#songList > #"+songNr+" > span#playStopSpan").removeClass().addClass("glyphicon glyphicon-pause"); 

songNr это значение ($ индекса) в нг щелчку.

+0

Используйте нг-класс https://docs.angularjs.org/api/ng/directive/ngClass вместо смешивания в Jquery манипуляции йота в контроллере. –

+0

Конечно! Глупый, забыл все о ng-классе. – kongshem

ответ

1

Это, как вы могли бы сделать это с помощью нг-класс:

<span class="glyphicon" ng-class="{ 'glyphicon-pause': el.paused, 'glyphicon-play': !el.paused}"> 

    $scope.tracksList = [ 
     {paused: true, title: 'First song', playback_count: 0} 
    ]; 

    $scope.togglePause = function (track) { 
    track.paused = !track.paused; 
    } 

В демо-Playing пересечена, хотя, если он не играет.

http://plnkr.co/edit/UNcnBUP7eGewI7YRAOHU?p=preview

+0

Ну, почти так, но я не предлагал условия в своем вопросе, так что вам было бы невозможно это знать. Мне нужно было проверить условие, если el $ index был равен или нет выбранномуIndex. Поэтому я просто поместил $ scope.selectedIndex в свой контроллер директивы и добавил условие [$ index == selectedIndex] в свой ng-класс. Спасибо, в любом случае, вы поставили меня на правильный путь. – kongshem

Смежные вопросы