从ng-click angularJS隐藏addClass

时间:2016-11-03 09:13:04

标签: javascript jquery html angularjs jqlite

这是我的代码HTML:

 <button type="button" ng-click="save()" class="btn btn-success btn-block"><span class="glyphicon glyphicon-save"></span>Enregistrer</button>

我想通过添加隐藏在HTML元素中的类来隐藏按钮,就像使用JQUERY和骨干一样:

  $('a[data-actions="save"]').addClass('hidden')

我试过这个:

angular.element($scope.save)

但它没有用,尽管如果我使用html ID就行了,就像这个:

 var tempItem = document.getElementById('name');
      angular.element(tempItem)
        .addClass('hidden');

2 个答案:

答案 0 :(得分:3)

使用ng-class在按钮中添加课程

<button type="button" ng-class="{'hidden':selectedClass}" ng-click="save()" class="btn btn-success btn-block"><span class="glyphicon glyphicon-save"></span>Enregistrer</button>

在您的控制器中

$scope.selectedClass = false;
$scope.save = function(){
    $scope.selectedClass = ! $scope.selectedClass;
}

希望这对你有帮助。

答案 1 :(得分:1)

请使用数据改变show / hide形式的外观。

ng-show和ng-hide对此有好处。有时,如果隐藏或待隐藏的元素在DOM方面很重,那么ng-if也会派上用场。

&#13;
&#13;
angular.module('app', [])
  .controller('MyController', function($scope) {

    $scope.save = function() {
      $scope.shown = !$scope.shown;

    }
  });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="MyController">
  <p ng-show="shown">Hello World</p>
  <button type="button" ng-click="save()" class="btn btn-success btn-block"><span class="glyphicon glyphicon-save"></span>Enregistrer</button>
</div>
&#13;
&#13;
&#13;