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