2014-01-16 2 views
1

Я новичок в угловом, и я пытаюсь получить li из ul с помощью angular.element и добавить к нему класс. Но он не работает, и он показывает «неопределенный». Где я иду не так?Как получить элемент li с помощью angular.element

app.controller('MainCtrl', function($scope) { 
    $scope.names = [ 
     'John', 
     'Doe' 
    ]; 

    console.log(angular.element(document.getElementById('container'))[0].children[1]);  
}); 

Демо: http://plnkr.co/edit/gfyDlLeXcbc0uAIxPE93?p=preview

ответ

1

Это не работает, потому что при вызове console.log(angular.element(document.getElementById('container'))[0].children[1]);, фаза рендеринга еще не началась и не <li> не визуализируется в это время.

Если вам нужно добавить класс динамически, я рекомендую использовать ng-class

DEMO как использовать ng-class

DEMO как использовать class с {{}}

+0

правильно, но есть ли другой способ кроме ng-класса – user1184100

+0

@ user1184100: если вы добавляете статический класс, должно быть достаточно обычного атрибута 'class' html. Для динамических классов, основанных на состоянии модели, вы должны использовать 'ng-class', поскольку он хорошо работает с угловым циклом. Другой способ - использовать '{{}}' с 'class'. Что-то вроде 'class =" {{myclass}} "'. –

+0

@ user1184100: проверьте мои демонстрации. –

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