すべての兄弟にクラスを追加する方法は、クリックされたものを期待しています。私が望むものをクリックすると、クリックした兄弟以外のすべての兄弟にクラスblue
を適用したいと思います。すべての兄弟にクラスを追加する
<div ng-app="editer" ng-controller="myCtrl" class="container">
<div ng-repeat="item in items">
<div class="wrap" ng-click="show =!show" ng-class="{'blue':show}">
<span>{{item.name}}</span>
<span ng-show="show">{{item.thing}}</span>
</div>
</div>
</div>
//JS
function myCtrl($scope) {
$scope.editedItem = null;
$scope.items = [{
name: "item #1",
thing: "thing 1"
}, {
name: "item #2",
thing: "thing 2"
}, {
name: "item #3",
thing: "thing 3"
}];
$scope.show = false;
}
var editer = angular.module('editer', []);
//CSS
.wrap {
background: yellow;
}
.blue {
background: blue;
}
答えをありがとう。私は追加のプロパティを追加する必要があるように見えますか? – olo
基本的にはyesです。現在の要素を見つけたり、すべての兄弟を取得したり、それぞれの要素に対してtoggleClassを使用するなど、他の方法もあります。これらのために、jQuery関数の小さなサブセットを持つ角度要素[https://docs.angularjs.org/api/ng/function/angular.element]を使用できます。 – AdelaN