1

由于 jQuery 1.4removeClass();现在将函数作为参数。

我的<body>标签添加了一些类,例如:

<body class="heading-helvetica para-georgia pattern-flowers">

我希望能够替换类名,并且我相信函数removeClass()可以帮助我,但我并不真正了解jQuery 站点上的文档,我对 Regex 也没有任何好处。

例如,我如何heading-helveticaheading-myriadpara-georgiapara-times等替换?

我以前使用过类似的东西,只有当它试图替换的类名是类名列表中的第一个时才有效:

$('#headings li').click(function(){
    var this_class = $(this).attr('id');
    $('body[class|="heading"]').removeClass();
    $('body').addClass(this_class);
});
4

2 回答 2

2

您将需要从body标签中获取类列表并迭代/解析它们。

有关如何获取课程的信息,请参阅本文。

使用 jQuery 获取元素的类列表

您必须找出要添加的类列表和要删除的类列表。使用函数作为 removeClass 方法的参数并不是真正必要的。由于您还需要添加类,这可能是错误的方法。

于 2011-11-07T18:13:15.157 回答
0

如果你想处理它们,你可以使用.attr()。例子:

var prev = $("body").attr('class'); $("body").attr('class', prev.replace('helvetica', 'myriad'));

不过,这相当广泛,取决于您在做什么,使用removeClass()and可能会更好addClass()

于 2011-11-07T18:08:48.020 回答