Angular.js 如何在单击时更改元素 css 类并删除所有其他元素

angularjsCSS

1个回答

写回答

果果qq

2025-06-24 08:35

+ 关注

JS
JS

Angular.JS 是一个流行的JavaScript框架,用于构建Web应用程序。在Angular.JS中,我们可以使用简单的代码来实现在单击事件发生时更改元素的CSS类,并删除其他所有元素的功能。

首先,让我们看一下如何在Angular.JS中更改元素的CSS类。我们可以使用ng-class指令来实现这个功能。ng-class指令允许我们根据表达式的值来动态添加或删除元素的CSS类。

下面是一个简单的示例,演示了如何在单击事件发生时更改元素的CSS类并删除其他所有元素。

html

<!DOCTYPE html>

<html ng-app="myApp">

<head>

<script src="https://Ajax.Googleapis.com/Ajax/libs/AngularJS/1.6.9/angular.min.JS"></script>

<style>

.highlight {

background-color: yellow;

}

.hide {

display: none;

}

</style>

</head>

<body ng-controller="myCtrl">

<div ng-repeat="item in items" ng-class="{ 'highlight': item.highlighted, 'hide': item.hidden }" ng-click="changeClass(item)">

{{ item.name }}

</div>

<script>

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

app.controller('myCtrl', function($scope) {

$scope.items = [

{ name: 'Item 1', highlighted: false, hidden: false },

{ name: 'Item 2', highlighted: false, hidden: false },

{ name: 'Item 3', highlighted: false, hidden: false }

];

$scope.changeClass = function(selectedItem) {

angular.forEach($scope.items, function(item) {

if (item !== selectedItem) {

item.highlighted = false;

item.hidden = true;

} else {

item.highlighted = true;

item.hidden = false;

}

});

};

});

</script>

</body>

</html>

在上面的代码中,我们首先定义了一个包含三个项目的数组items。每个项目都有一个name属性,一个highlighted属性和一个hidden属性。当用户单击某个项目时,我们通过调用changeClass函数来更改元素的CSS类。

在changeClass函数中,我们使用Angular.JS的forEach函数遍历所有项目。如果当前项目不是用户单击的项目,我们将highlighted属性设置为false,hidden属性设置为true,从而将其隐藏。如果当前项目是用户单击的项目,我们将highlighted属性设置为true,hidden属性设置为false,从而将其高亮显示。

通过使用ng-class指令和简单的JavaScript代码,我们可以实现在单击事件发生时更改元素的CSS类并删除其他所有元素的功能。

案例代码:

html

<!DOCTYPE html>

<html ng-app="myApp">

<head>

<script src="https://Ajax.Googleapis.com/Ajax/libs/AngularJS/1.6.9/angular.min.JS"></script>

<style>

.highlight {

background-color: yellow;

}

.hide {

display: none;

}

</style>

</head>

<body ng-controller="myCtrl">

<div ng-repeat="item in items" ng-class="{ 'highlight': item.highlighted, 'hide': item.hidden }" ng-click="changeClass(item)">

{{ item.name }}

</div>

<script>

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

app.controller('myCtrl', function($scope) {

$scope.items = [

{ name: 'Item 1', highlighted: false, hidden: false },

{ name: 'Item 2', highlighted: false, hidden: false },

{ name: 'Item 3', highlighted: false, hidden: false }

];

$scope.changeClass = function(selectedItem) {

angular.forEach($scope.items, function(item) {

if (item !== selectedItem) {

item.highlighted = false;

item.hidden = true;

} else {

item.highlighted = true;

item.hidden = false;

}

});

};

});

</script>

</body>

</html>

如何在Angular.JS中在单击时更改元素的CSS类并删除其他所有元素

在Angular.JS中,我们可以使用ng-class指令来实现在单击事件发生时更改元素的CSS类,并删除其他所有元素的功能。

步骤

1. 首先,我们需要在HTML文档中引入Angular.JS库。我们可以使用以下代码来引入Angular.JS库:

html

<script src="https://Ajax.Googleapis.com/Ajax/libs/AngularJS/1.6.9/angular.min.JS"></script>

2. 接下来,我们需要在HTML中定义一个ng-app指令来初始化Angular.JS应用程序。我们可以使用以下代码来定义ng-app指令:

html

<html ng-app="myApp">

3. 然后,我们需要在HTML中定义一个ng-controller指令来定义一个Angular.JS控制器。我们可以使用以下代码来定义ng-controller指令:

html

<body ng-controller="myCtrl">

4. 在控制器中,我们需要定义一个数组来存储要显示的项目。每个项目都应该有一个name属性、一个highlighted属性和一个hidden属性。我们可以使用以下代码来定义数组:

Javascript

$scope.items = [

{ name: 'Item 1', highlighted: false, hidden: false },

{ name: 'Item 2', highlighted: false, hidden: false },

{ name: 'Item 3', highlighted: false, hidden: false }

];

5. 接下来,我们需要定义一个函数来更改元素的CSS类。在这个函数中,我们需要遍历所有项目,并根据用户单击的项目来更改元素的CSS类。我们可以使用以下代码来定义函数:

Javascript

$scope.changeClass = function(selectedItem) {

angular.forEach($scope.items, function(item) {

if (item !== selectedItem) {

item.highlighted = false;

item.hidden = true;

} else {

item.highlighted = true;

item.hidden = false;

}

});

};

6. 最后,我们需要在HTML中使用ng-class指令来应用CSS类。我们可以使用以下代码来使用ng-class指令:

html

<div ng-repeat="item in items" ng-class="{ 'highlight': item.highlighted, 'hide': item.hidden }" ng-click="changeClass(item)">

{{ item.name }}

</div>

通过遵循以上步骤,我们可以在单击事件发生时更改元素的CSS类,并删除其他所有元素。

通过使用Angular.JS的ng-class指令和简单的JavaScript代码,我们可以实现在单击事件发生时更改元素的CSS类并删除其他所有元素的功能。这使得我们可以轻松地处理元素之间的交互,并根据用户的操作进行相应的样式更改。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号