Javascript ng在ng repeat内单击以指向同级div,而不是ng repeat中的所有div

Javascript ng在ng repeat内单击以指向同级div,而不是ng repeat中的所有div,javascript,angularjs,Javascript,Angularjs,好的,首先是可怕的标题,希望我能在这里更好地解释它。 所以我有一个ng重复,在这个重复中有一个div,它包含一个按钮和另一个div。我希望这个按钮只影响它旁边的div。当前,该按钮影响循环中的所有div html: 点击淡出 使我褪色 我查看了ng类,但我无法找出如何使“redbox”类更改其值以合并ng重复迭代(例如“redbox1”和“redbox2”等)。我还尝试过给redbox div item.title指定,希望它能以这种方式迭代。不走运。基本上,我希望按钮只改变它的兄弟div

好的,首先是可怕的标题,希望我能在这里更好地解释它。 所以我有一个ng重复,在这个重复中有一个div,它包含一个按钮和另一个div。我希望这个按钮只影响它旁边的div。当前,该按钮影响循环中的所有div

html:


点击淡出
使我褪色
我查看了ng类,但我无法找出如何使“redbox”类更改其值以合并ng重复迭代(例如“redbox1”和“redbox2”等)。我还尝试过给redbox div item.title指定,希望它能以这种方式迭代。不走运。基本上,我希望按钮只改变它的兄弟div


任何帮助都将不胜感激。

您可以使用
$index
在ng repeat中获取元素的索引,以便将html更改为:

<div ng-repeat="item in menu" ng-show="!$first">
    <div class="col-md-2" back-img="item.img">
        <div ng-controller="buttonController">
            <button ng-click="fadeIt('redbox' + $index)">click to fade</button>
            <div class="redbox{{$index}}">fade me</div>
        </div>
    </div>
</div>

点击淡出
使我褪色

并且可能使用id而不是类,因为它是唯一标识符。@ZackArgyle是的,使用类似乎有点麻烦。不确定fadeIt函数如何工作,但使用id选择器将使浏览器更快地获取dom。:)嘿,谢谢你的回复,我今晚会试试这个。我最初使用class是因为每个div都不会改变它的样式等,但现在我正在改变它的工作方式,因为我需要它们是唯一的,ID是一种方式,再次感谢。所以,我刚刚测试了这个,技术上它不起作用,但我给了你答案,因为它基本上是正确的。不起作用的是$parent需要添加到$index,所以redbox{{$parent.$index}。再次感谢!
<div ng-repeat="item in menu" ng-show="!$first">
    <div class="col-md-2" back-img="item.img">
        <div ng-controller="buttonController">
            <button ng-click="fadeIt('redbox' + $index)">click to fade</button>
            <div class="redbox{{$index}}">fade me</div>
        </div>
    </div>
</div>