-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
switchClass() removes class if removeClass and addClass params are the same #2158
Comments
Thanks for the report. Does the issue you describe exist when jQuery UI 1.12.1 is used or only with jQuery UI 1.13.0 or newer? |
it's also in v1.12 |
Line 232 in 9180a81
do nothing if(remove === add){return;} or if(remove === add){
return $.effects.animateClass.call( this, {
add: add
}, speed, easing, callback );
} else {
return $.effects.animateClass.call( this, {
remove: remove,
add: add
}, speed, easing, callback );
} |
Thanks for the report. Since the issue is already in 1.12, given limited team resources it's not likely to be fixed by the UI team; see the project status at https://blog.jqueryui.com/2021/10/jquery-maintainers-update-and-transition-jquery-ui-as-part-of-overall-modernization-efforts/. PRs are welcome if they're not too complex and contain tests. |
The docs don't really specify what happens if a class appears in both properties. It's probably too late to change it now and I'm not even sure if that would be desired. I'd advise to just filter out the classes you don't want removing from the second argument. |
I am using jQuery 3.6.0. Seems to be an undocumented "feature" with switchClass(). If I specify the same class to remove and then add, I get no class. In the following example, I would expect to see class="big":
The above generates:
<input type="text" id="myInput" class="">
The text was updated successfully, but these errors were encountered: