Changing a class on an element when clicked using Angular.js

Is there a way in angular.js to toggle a css class active on and off when clicking on an element? I am familiar with using ng-class and ng-click, but how can I refer to the element itself? For instance, if I have three buttons:

<a class="btn" ng-click="" ng-class"">First</a>
<a class="btn" ng-click="" ng-class"">Second</a>
<a class="btn" ng-click="" ng-class"">Third</a> 

Answer №1

<a ng-click="toggleFirst()" ng-class="{'btn':true, 'active':firstActive}">First</a>
<a ng-click="toggleSecond()" ng-class="{'btn':true, 'active':secondActive}">Second</a>
<a ng-click="toggleThird()" ng-class="{'btn':true, 'active':thirdActive}">Third</a> 

Ensure you have separate scope variables in your controller for firstActive, secondActive, and thirdActive, all initially set to false.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

How can scope binding be reversed in AngularJS when implementing transclusion?

Utilizing transclude in directives proves to be extremely beneficial when you want the scope of your controller to be linked to the HTML being passed in. But how can you achieve the opposite? (accessing the directive's scope from the controller) Her ...

Utilizing Algolia backend search capabilities enhanced by the Algolia Search Helper library specifically designed for Angular.js

I'm considering sending the search request to Algolia using the backend for security reasons. I came across information here stating that Instantsearch allows this by specifying a custom customSearchClient and passing it as a parameter. Even though I ...

What is the best way to instruct Maven to package my JavaScript project as a war file from the root directory?

Hey everyone, I'm still searching for a reliable method to package a javascript project. Typically, the default approach is to simply release it to the docroot of your appserver, which I find quite unpleasant. My simple node.js javascript project, w ...

Using MongoDB's MapReduce feature along with the Date and % operator

I am encountering an issue with a Python script that I am using to aggregate large collections into smaller pieces and group them by timestamp. map = Code("function(number) {" "emit({" "ts : new Date(new Date((this.ts - (this.ts % (60 * number ...

Problem with sending JSON-encoded arrays to an API

After successfully connecting to an API via Postman, I encountered an issue with my AJAX call. The error message returned is: Object {status: false, message: "Add amenities in JSON string"} The problem seems to be related to the amenities parameter, as ...

How to fetch terms in Wordpress using ajax

As a newcomer to WordPress, I am looking to gather all photos within posts and categorize them accordingly. Here is the JavaScript function I have written: function get_photos(elem) { $.ajax({ cache: true, type: "GET", timeout: 20000, ...

Utilizing inline javascript to dynamically update the selected option of a radio button

A form on my website includes two radio buttons: one labeled 'trigger_unit' and the other labeled 'normal_unit'. In addition, there is a select drop-down menu with four values and a default NULL option. <select rel="dropdown" name=" ...

Tips for parsing RDF/XML in Node.js using rdflib.js or rdf-parser-rdfxml

I've been attempting to read and parse an rdf/xml file, possibly converting it into JSON or a JavaScript Object. Despite my efforts in searching through numerous node libraries, I have not come across a good example that provides clear documentation o ...

Refreshing is not necessary when submitting a form using Ajax to post data

Initially, I find myself torn between using method or type, where if I define the method in the form, do I still need to define it in the ajax call? If not, why does ajax return undefined in the console? Furthermore, the code below triggers a 405 POST met ...

Pattern matching for a string with numerous repetitions using Regular Expressions

There's a [tree] and a cat and a [dog] and a [car] too. I am looking to find the words inside each set of square brackets. The resulting array will be tree, dog, car My attempt at using match(/\[(.*)\]/g) didn't work as expected. It ...

Bring in Bootstrap and the Carousel plugin using Webpack Encore

Currently, I am tackling an issue within my Symfony project that involves Webpack Encore and the loading of Bootstrap and the Carousel plugin. The problem may stem from how I import Bootstrap, as it seems to partially work when I import the file like this ...

The ReactJS code encountered an error when attempting to access the 'location' property of an undefined or null reference

My Reactapp is encountering an error due to a specific file. import React from 'react'; import { Router, Route } from 'react-router'; import App from './components/App'; import About from './components/About'; im ...

Techniques for Grouping an Array of Objects by a Specific Value Key in Angular

I have the following array that needs to be grouped by section_name in HTML. Additionally, I need to first check if the length of the array values for section_name is greater than zero before displaying the results grouped by section_name. I hope my expl ...

Guidelines on populating a Vue array with data fetched from an Axios request

The v-breadcrumbs component is used to display data from the breadcrumbs array, which works seamlessly with static data. <v-row> <!-- Breadcrumbs --> <v-col class="d-flex"> <v-breadcrumbs :items="breadcrumbs"></v ...

Issue with AngularJS 1.6.x: Unable to access property 'entry' as it is undefined

Check out my Plunker demo here After updating Angular from version 1.3.x to 1.6.x, I'm getting an error that says read property 'entry' of undefined I've attempted to define 'entry' as var entry = {}; and also tried using de ...

Is there a way to create a glow effect in CSS that considers the background color?

Exploring ways to create realistic-looking LEDs using HTML and CSS has been a fun challenge. Achieving a glowing effect for each LED would be simple if the color remained constant. However, I aim for the glow to dynamically adjust based on the LED's c ...

Error: The element at point (713, 6) is currently not clickable due to an unknown issue. Another element, specifically the container with class "container," is blocking the click

I am experiencing a strange error. During my test, I navigate to angularjs.org first. Next, I use sendKeys() on an input field named "JavaScript Projects" that has filters. Then, I click on a checkbox to mark a todo item as Done. However, when performing t ...

Tips for ensuring your jQuery events always trigger reliably: [Issues with hover callback not being fired]

My background image animation relies on the hover callback to return to its original state. However, when I quickly move the mouse over the links, the hovered state sticks. I suspect that I am moving the mouse off before the first animation completes, caus ...

Display the MediaStream on a WebGLRenderer

It may sound a bit unusual, but how can you display a video stream var videoStream = new MediaStream(stream.getVideoTracks()); using var renderer = new THREE.WebGLRenderer({antialias: true, alpha: true}); renderer.setSize(640, 480); ...

AngularJS and Select2's Multiple - Tags feature can display tags intermittently, showing some and hiding others as needed

Currently, I am implementing AngularJS along with select2 (not using ui-select). In my view, the following code is present: <select name="rubros" id="rubros" class="select2 form-control" ng-model="vm.comercio.tags" ng-options="rubro.nombre for rub ...