因为jQuery 1.4 removeClass();
现在将一个函数作为参数。
我的<body>
标记添加了几个类,例如:
<body class="heading-helvetica para-georgia pattern-flowers">
我希望能够替换类名,我相信removeClass()
中的函数可以帮助我,但我真的不理解the documentation on the jQuery site,也不会对正则表达式有所帮助。
如何将heading-helvetica
替换为heading-myriad
或将para-georgia
替换为para-times
,依此类推?
我之前使用过这样的东西,只有当它试图替换的类名是类名列表中的第一个时才有效:
$('#headings li').click(function(){
var this_class = $(this).attr('id');
$('body[class|="heading"]').removeClass();
$('body').addClass(this_class);
});
答案 0 :(得分:2)
您需要从body
标记中获取类列表并迭代/解析它们。
请参阅此文章了解如何获取课程。
Get class list for element with jQuery
您必须找出要添加的类列表以及要删除的类列表。使用函数作为removeClass方法的参数并不是必需的。由于您还需要添加类,因此可能是错误的方法。
答案 1 :(得分:0)
如果您想全部处理它们,可以使用.attr()
代替。例如:
var prev = $("body").attr('class');
$("body").attr('class', prev.replace('helvetica', 'myriad'));
这很广泛,取决于你正在做什么,你可能会更好地使用removeClass()
和addClass()
。