2016-12-12 7 views
0

На мой взгляд, у меня есть несколько дивы, чьи идентификаторы:Как найти динамические добавленные имена классов, используя угловой

<div ng-src="{{board[0].url)}}" autosize="off" id="{{board[0].name}}"></div> 
    <div ng-src="{{{board[1].url)}}"autosize="off" id="{{board[1].name}}"></div> 

Мне нужно получить эти дивы на основе их идентификаторами и применить стиль к нему. Как я могу это достичь? Есть ли что-то вроде этого:

angular.forEach($scope.boards, function(board){ 
    $document.find('#board.name').css({'width': board.position.width, 'height' : board.position.height}) 
} 
+0

Может быть, пользовательский атрибут консолидировать выбор для стилизации лучше, чем полагаться на динамические значения? Вы можете добавить 'data-id =" правление ", например, к каждому" доске "div, который имеет один и тот же стиль и основывает на нем свой селектор. – Nope

+0

Все разделы имеют разные стили. Вот почему у них должны быть разные идентификаторы –

+0

В любом случае стили вождения от динамических значений кажутся ненадежными и хрупкими. Если вы можете управлять стилями статическими значениями или позициями в отношениях между дочерними/родительскими, которые могут быть лучше. Но если вы можете сделать свой скрипт, используйте те же самые переменные, которые управляют вашими динамическими идентификаторами, чем это должно быть в порядке. – Nope

ответ

0

вам не нужно использовать JQuery и ng-style директива может сделать то же самое для вас

<div ng-src="{{board[0].url)}}" ng-style="{width:board[0].position.width,height:board[0].position.height}" autosize="off" id="{{board[0].name}}"></div> 
<div ng-src="{{{board[1].url)}}" ng-style="{width:board[1].position.width,height:board[1].position.height}" autosize="off" id="{{board[1].name}}"></div> 
1

Вы могли

$document.find('#' + board.name).css({'width': board.position.width, 'height' : board.position.height}) 

Но затем снова , этот код должен быть выполнен после угловых окон, что делает интерполяцию HTML, которую трудно определить.

Лучше было бы использовать нг-стиль, который был предназначен для ситуаций, как это: https://docs.angularjs.org/api/ng/directive/ngStyle

Итак:

<div ng-src="{{board[0].url)}}" ng-style="{width: board[0].position.width, height: board[0].position.height}" autosize="off" id="{{board[0].name}}"></div> 

...

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

  • Нет связанных вопросов^_^