如何重置整个页面中应用的jQuery切换类? (AngularProject)

时间:2016-04-02 17:19:13

标签: javascript jquery html css angularjs

以下CSS适用于点击一个元素可用的链接:

<a class="vehicleinfo avai-vehicle-info-anc-tag" ng-click="vehicleInfo($event)">Vehicle Info 
    <span class="s-icon red-down-arrow"> </span>
</a>

$scope.vehicleInfo = function(event) {
    var el = jQuery(event.currentTarget),
    featuredcarbox = el.closest(".avilablecar.available-car-box");
    featuredcarbox.find(".avlcarimagetab img").toggleClass("slide-left");
    featuredcarbox.toggleClass("bg-grey");
    el.toggleClass("icon-remove");
    featuredcarbox.find(".available-car-fac").toggleClass("hidden");
}

我想在调用一个函数时删除在每个元素(车辆)上应用的所有上述切换类。

我怎样才能实现?

2 个答案:

答案 0 :(得分:0)

太简单了......我想。如果需要删除切换类,只需将toggleClass替换为removeClass即可。正如我在新功能/

中所示
$scope.vehicleClassRessetInfo = function(event) {
    var el = jQuery(event.currentTarget),
    featuredcarbox = el.closest(".avilablecar.available-car-box");
    featuredcarbox.find(".avlcarimagetab img").removeClass("slide-left");
    featuredcarbox.removeClass("bg-grey");
    el.removeClass("icon-remove");
    featuredcarbox.find(".available-car-fac").removeClass("hidden");
}

答案 1 :(得分:0)

您可能正在寻找带有三元运算符的ng-class。 Ng级的工作原理如下:

<div ng-class="(foo == 1) ? 'classes if-true' : 'classifFalse'"

&#34;(foo == 1)&#34; part可以是表达式,求值函数或控制器中的变量。

我没有足够的工作把它放在一个小提琴里,我不会想到,但这就是我要做的......

HTML:

<a ng-class="(applyClassses == true) ? 'vehicleinfo avai-vehicle-info-anc-tag' : ''" ng-click="vehicleInfo($event)">Vehicle Info 
  <span class="s-icon red-down-arrow"></span>
</a>

控制器:

$scope.vehicleInfo = function() {
  if () {
    $scope.applyClasses = true;
  }
  else {
    $scope.applyClasses = false;
  }
}