2014-06-25 60 views
2

这里有一些小问题。 我刚刚学习Angular,并且遇到以下问题。Angularjs:无法将类添加到ID

了我在重演(NG-重复),当它被渲染,您可以点击它,我添加一个类你点击,jQuery的样式列表项的列表:

$('#'+id).addClass("myClass");

和ID被存储在范围可变。

但是,当我改变列表项目的范围,新的项目被加载,当我改变他们回到状态,我开始,我试图将类添加到相同的ID,但doens'工作。

我想念什么?

在此先感谢

+0

转移到angular时,继续使用jQuery思维模式是错误的。考虑操纵你的数据,而不是操纵DOM。请参阅http://stackoverflow.com/questions/14994391/how-do-i-think-in-angularjs-if-i-have-a-jquery-background?rq=1 –

+0

感谢您的信息。就像我说的,我仍然在学习和来自jQuery背景,认为是可能的。 –

回答

1

这里更好的办法是改变对点击数据,然后有条件地附上类基于数据:

<div ng-repeat="item in items" ng-class="{myClass:item.changed}"> 
     {{item.name}} 
     <button ng-click="item.changed = !item.changed">Change me!</button> 
    </div> 

这是在行动:http://jsfiddle.net/wilsonjonash/NTpLS/

正如我在评论中提到的那样,在角度编程时,请考虑您的型号首先是。在jQuery-land中使用DOM操作可以实现的大多数事情都可以通过模型依赖标记(指令)实现。

祝你好运!