jQuery-使用多个.replace方法

jQuery-使用多个.replace方法,jquery,Jquery,我有一个div,它将根据类名在页面上的位置来交换类名的位置。我正在尝试剥离标题部分-文本和标题类型文本,因此我只有付款或资源。但根据类的位置,我有时会在标题类型之前或之后获得一个空格。为了做到这一点,我调用了3次.replace(),必须有一种更好、更简洁的方法,而不是使用3个.replace方法。有什么想法吗 <div class="header-section-payment header-type"></div> <div class="header-ty

我有一个div,它将根据类名在页面上的位置来交换类名的位置。我正在尝试剥离标题部分-文本和标题类型文本,因此我只有付款资源。但根据类的位置,我有时会在标题类型之前或之后获得一个空格。为了做到这一点,我调用了3次.replace(),必须有一种更好、更简洁的方法,而不是使用3个.replace方法。有什么想法吗

 <div class="header-section-payment header-type"></div>
 <div class="header-type header-section-resource"></div>

我通过代码示例学习的效果最好,因此请在适用的地方包括。谢谢

首先,在类名中增加一个空格绝对没有坏处。也许如果你做了数千次同样的操作,你可能会担心额外空间的积累,但这并不会真正导致任何问题

对于您的特定情况,您可以使用jQuery的
.removeClass(“header type”)
作为该类名,这样您就不会在删除“header节”时担心额外的空格。这可能是这样的:

var headerCategory = $(this).closest('div[class*="header-section-"]')
   .removeClass("header-type")
   .each(function() {
        this.className = this.className.replace('header-section-', '');
    }); 

请注意,在您现有的代码中,您正在调用
.replace()
,但没有将结果分配给任何对象,并且如果headerCategory中也有多个DOM对象,您的代码将无法工作,这就是我在此处使用
.each()
的原因。

请查看
trim
函数,。不确定这是否是您想要的最终结果,但请确保您了解
removeClass
的存在。谢谢@jfriend00这太完美了!
var headerCategory = $(this).closest('div[class*="header-section-"]')
   .removeClass("header-type")
   .each(function() {
        this.className = this.className.replace('header-section-', '');
    });