如何使用angular查找动态添加的classNames

时间:2016-12-12 09:51:23

标签: javascript css angularjs jqlite

在我看来,我有几个div,其ID为:

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

我需要根据他们的ID获取这些div并对其应用样式。我怎样才能做到这一点?有这样的事情:

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

2 个答案:

答案 0 :(得分:1)

你可以

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

但话说回来,这个代码需要在角度完成渲染HTML插值后执行,这很难确定。

更好的方法是使用适用于以下情况的ng风格: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>

...

答案 1 :(得分: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>