jQuery only firing last class in multiple-class click

Posted by user1134644 on Stack Overflow See other posts from Stack Overflow or by user1134644
Published on 2013-10-30T15:05:21Z Indexed on 2013/10/30 15:54 UTC
Read the original article Hit count: 149

Filed under:
|

I have a set of links like so:

<a href="#internalLink1" class="classA">This has Class A</a>
<a href="#internalLink2" class="classB">This has Class B</a>
<a href="#internalLink3" class="classA classB">This has Class A and Class B</a>

And here's the corresponding jQuery:

$('.classA').click(function(){
// do class A stuff
});

$('.classB').click(function(){
// do class B stuff
});

Currently, when I click on the first link with Class A, it does the Class A stuff like it's supposed to. Similarly, when I click on the second link with Class B, it does the Class B stuff like it's supposed to. No worries there.

My issue is, when I click on the third link with BOTH classes, it only fires the function for whichever class comes last (in this case, class B. If I put class A at the end instead, it performs class A's function). I want it to fire both. What am I doing wrong?

Thanks in advance.

EDIT: To those posting fiddles, nearly all of them work, so as many have said, it's most likely not my code, but the way it displays in my file. For a little more clarification, I was teaching myself some jQuery and decided to try making a (very) simple "Choose Your Own Adventure" type game. Here's a jsfiddle containing the opening of my bare-bones-please-don't-laugh game. Click on "Hide in the bushes", then "Examine the victim", then "Take any valuables and leave, he's dead already" <-- THIS is where the issue is. It's supposed to add 98 gold ("hawks") to your inventory, AND tell you that your alignment has shifted 1 point towards Chaotic. At the moment, it only does the chaotic alert, and no gold gets added to your inventory. The other option (refresh the fiddle to restart) that adds money to your inventory, but DOES NOT make you chaotic, works just fine (if you select "Search him for identification" instead of "take the money and run")

Sorry this is so long!

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about jQuery