Search code examples
angularjsangular-ng-if

ng-if an element has a certain class


I was wondering if it is possible to have an ng-if be true if an element has a certain class.

Example:

<div class="edge" ng-repeat="item in items">
<div ui-view ng-if="(ng-repeat div has class of edge)"

Solution

  • Practically you can use hasClass method with angular element:

    angular.element(myElement).hasClass('my-class');
    

    So you can create a function and put the check in it and use that function in ng-if.

    <div class="edge" ng-if="check()" ng-repeat="item in items">
    

    However, remember that you cannot access the element in ng-if (vs you can pass the $event to ng-click and access $event.target) , need to create a directive to do it.