【问题标题】:Changing the CSS of a div in AngularJS directive在 AngularJS 指令中更改 div 的 CSS
【发布时间】:2017-02-07 06:34:11
【问题描述】:

我有一个问题,我创建了一个指令,该指令正在对一组对象执行 ng-repeat ---在gui上显示值------

现在我希望,如果我点击这个重复的任何 div,特定 div 的背景颜色应该改变

我尝试过类似的方法

link:function(scope,element,attributes){
    $(element).on('click',function(e){
    $(element).addClass('A');
    $(element).removeClass('B');
   })
    }

【问题讨论】:

  • 添加一些代码。你现在尝试了什么?

标签: angularjs angularjs-directive


【解决方案1】:

您可以使用ng-class 指令在特定事件上应用类,在您的情况下结合ng-click

<div ng-repeat="item in items"
     ng-class="{A: item.clicked, B: !item.clicked}"
     ng-click="item.clicked = !item.clicked">
    <!-- .. content -->
</div>

例如见this jsfiddle

【讨论】:

    【解决方案2】:

    您可以尝试类似的方法,但这需要更多解决方法。

    <div ng-click=“changeBackground($event)”></div>
    
    // In Controller
       $scope.changeBackground = function(event){
       event.target.style.background = “#000”;
       }
    

    如果你能提交你的代码就更好了。

    【讨论】:

    • 用户请求的指令在哪里?为什么在使用 AngularJS 时使用原生 JavaScript DOM 操作?您应该使用ng-styleng-class
    猜你喜欢
    • 2014-06-02
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2014-12-09
    • 2016-05-23
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    相关资源
    最近更新 更多