#9499 closed bug (fixed)
removeClass will only remove the first instance of a class
Reported by: | theallan | Owned by: | Timmy Willison |
---|---|---|---|
Priority: | high | Milestone: | 1.6.2 |
Component: | attributes | Version: | 1.6.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
I've just been debugging an issue in my software where adding and removing classes with addClass and removeClass were doing something slightly odd. I realised that while addClass will add multiple instances of a class to an element (fair enough, I've asked it to do that), removeClass will only remove the first instance of a class. I would have expected it to remove all instances of the given class (although this could be an incorrect assumption on my part). For example
$("#test1").addClass("disabled disabled"); alert("test1 class after addClass ='"+$("#test1").attr("class")+"'");
$("#test1").removeClass("disabled"); alert("test1 class after removeClass ='"+$("#test1").attr("class")+"'");
The first alert will give "disabled disabled" while the second alert gives "disabled". I had anticipated it just being an empty string.
Change History (5)
comment:1 Changed 12 years ago by
comment:2 Changed 12 years ago by
Component: | unfiled → attributes |
---|---|
Owner: | set to Rick Waldron |
Priority: | undecided → high |
Status: | new → assigned |
@ajpiano and I agree: addClass should not allow you to add the same class twice
comment:3 Changed 12 years ago by
Milestone: | 1.next → 1.7 |
---|---|
Owner: | changed from Rick Waldron to Timmy Willison |
comment:4 Changed 12 years ago by
Milestone: | 1.7 → 1.6.2 |
---|
comment:5 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Check classes passed for duplicates. Fixes #9499.
Changeset: db437be6e31c924aade13bb719f9facc122b3d9c
jsFiddle example: http://jsfiddle.net/EvcfC/
Possibly similar to bug #6914.