gpt4 book ai didi

jquery - 如何在单击 `active` 元素时添加 `li` 类

转载 作者:行者123 更新时间:2023-12-03 23:00:29 25 4
gpt4 key购买 nike

我对 AngularJS 还很陌生。我需要知道如何使用它来处理这种情况。

我有一个包含值的数组。我正在使用 ng-repeat 来迭代数组,它工作正常。我的要求是如何将类(active)添加到ulfirst子级,并且每当用户单击时,被单击的元素应该获得active 类并从其余 li 元素中删除 active class

我在 JQuery 中很容易做到这一点,例如:

$('li').addClass('active').siblings().removeClass('active')

但是这里如何实现同样的效果呢?

我的代码:

JavaScript Controller

var myApp = angular.module("myApp", []);

myApp.controller("main", function ($scope) {

$scope.items = [1,2,3,4,5];

$scope.activate = function (item) {

//how to active this item?

//onload how to add class on first li?

}

})

HTML

 <ul>

<li ng-click="activate(item)" ng-repeat="item in items">
{{item}}
</li>

</ul>

Live Demo

最佳答案

这个怎么样。将当前事件项目存储在 Controller 中,并为其应用一个类(如果是该类)。

HTML

<ul>
<li
ng-click="activate(item)"
ng-repeat="item in items"
ng-class="{'active': item == active}">{{item}}
</li>
</ul>

JS Controller

$scope.items = [1,2,3,4,5];
$scope.active = items[0]; // for onload first element active
$scope.activate = function (item) {
$scope.active = item;
}

Plunker

关于jquery - 如何在单击 `active` 元素时添加 `li` 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31287853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com