Angularjs doclick当前div的更改类

时间:2015-03-28 09:09:29

标签: javascript jquery html css angularjs

这是我的angularjs doClick函数,点击后我想更改被点击的div的类。

<div data-ng-repeat="a in analytics" style="background-color: {{a.Color}};"  
        ng-class="{'block1 current-block' : $index==0, 'block1' : !($index==0)}"  
        ng-click="myData.doClick(a, $event)">
<div>

在我的angularjs代码中,我找到当前活动类并将其删除。这工作正常,但我不知道如何更改当前div的类。

如何找到并更改单击div的类? (我尝试使用jquery(this)&amp; $(this),但其中任何一个似乎都不起作用。)

$scope.myData.doClick = function(a, event) 
{

    alert("clicked" + a.Color +a.Feature + " @ " + event.clientX + ": " + event.clientY);

    $scope.selectedItem = a.Feature;

    for(j=0;j<$('#divHolder div.block1').length;j++)
    {
    console.log('Inside for loop',j,$('#divHolder div.block1').length);

      if($( '#divHolder div.block1:eq('+j+')' ).hasClass( "current-block" )==1)
          {
          console.log('Inside if statement',j);

              $('#divHolder div.block1:eq('+j+')').removeClass('current-block');
              break;
          }

    }

    console.log('final css addition',$(this));
    jQuery(this).addClass('current-block');

};

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

ng-class="{current-block: a.Feature == $scope.selectedItem}"