2017-05-25 21 views
0

我是新来angularJs,我在我的角度控制器的功能作为如何通过classname选择元素并迭代angularJs中的那些对象?

$scope.addPrimaryClass = function() { 
     var weekDayBtn = $(".weekdayButton"); 
     weekDayBtn.addClass("btn-white").removeClass("btn-primary"); 
     $.each(weekDayBtn,function (index) { 
      if($(this).val()==$scope.weekly){ 
       $(this).addClass("btn-primary").removeClass("btn-white"); 
      } 
     }) 
    }; 

鉴于我有:

<div class="btn-group"> 
         <button class="btn btn-white weekdayButton" type="button" value="7" ng-click="weekdayClicked($event);">Sun</button> 
         <button class="btn btn-white weekdayButton" type="button" value="1" ng-click="weekdayClicked($event);">Mon</button> 
         <button class="btn btn-primary weekdayButton" type="button" value="2" ng-click="weekdayClicked($event);">Tue</button> 
         <button class="btn btn-white weekdayButton" type="button" value="3" ng-click="weekdayClicked($event);">Wed</button> 
         <button class="btn btn-white weekdayButton" type="button" value="4" ng-click="weekdayClicked($event);">Thu</button> 
         <button class="btn btn-white weekdayButton" type="button" value="5" ng-click="weekdayClicked($event);">Fri</button> 
         <button class="btn btn-white weekdayButton" type="button" value="6" ng-click="weekdayClicked($event);">Sat</button> 
        </div> 

addPrimaryClass作品因为我可以在控制台所需的代码在那里使用正常的jquery,但代码不能在角度本身。基本上,我想要根据其中一个范围值更改按钮的css。请帮忙!!!

+0

是jQuery的还是它的角去除所有的jQuery ? – guradio

+0

@guradio AngularJS通过['angular.element()'](https://docs.angularjs.org/api/ng/function/angular.element)可通过引擎盖访问jQuery lite。但是,由于它是jQuery lite,如文件中所述的限制。 – GillesC

+0

这是角度,我想要在jQuery中类似的功能。 –

回答

1

您可以使用ng-class指令来根据范围变量应用类。例如:

<button class="btn weekdayButton" type="button" value="7" ng-click="weekdayClicked($event);" ng-class="($(this).val()==$scope.weekly) ? 'btn-primary' : 'btn-white'">Sun</button> 

有几种方法使用ng-class指令。请看看文档,并决定什么是最适合你的:https://docs.angularjs.org/api/ng/directive/ngClass


在一个单独的说明,你可能希望从你的角度代码:)