如何动态追加和删除多个类名的文本?

问题描述:

我有我的页面元素的负载。如何动态追加和删除多个类名的文本?

 <input class="userInput" type="text" /> 
     <img src="myPic.png" class="userImage" id="userImage" /> 
     <input class="firstNameInput someOtherClass" type="text" /> 
     <input class="lastNameInput" type="text" /> 
     ...etc... 

不过,我需要编写一个函数来动态改变类,以使其在“Red”结束。例如“userInputRed”,“userImageRed”。然后再返回它们的另一个函数。

我可以选择它们都很容易够...

$('.userInput','.userImage'....) 

..但我不知道如何改变他们现有的课程,而无需编写冗长的代码添加对于每个元素删除类的独立。

例如$('.userInput').removeClass('userInput').addClass('userInputRed')

有没有办法做到这一点使用JQuery没有太多的重复?

因此,像这样......

$('.userInput','.userImage'....).appendToClassName('red'); 
$('.userInputRed','.userImageRed'....).removeFromClassName('red'); 
+0

添加第二个类不能消除第一类针对它的CSS。因为第二个自动在css中覆盖第一个类'$('。userInput')。addClass('userInputRed')' – 2015-03-31 14:58:46

+0

我感觉你应该为所有'input'元素分配相同的类,并给每个元素一个不同的'id'或'name'属性。 – Phylogenesis 2015-03-31 15:00:15

+0

是的,它的工作原理。只是它涉及很多重复。我认为可能有更好的方法。 – Urbycoz 2015-03-31 15:00:20

您可以切换.red类与.userInput.red

+0

谢谢。现在明显地说出来了。 – Urbycoz 2015-03-31 15:14:19