我有特定的代码:
<script>
$.fn.revert = function(){
return this.each(function() {
var txt = $(this).html().replace(/<span class="gradientizer-done" style='color:rgb\(\d{1,3},\d{1,3},\d{1,3}\)>.<\/span>/g,'');
$(this).html(txt);
});
};
</script>
这段代码:
<p class="grad2" one="ffffff" second="000000">
<span class="gradientizer-done" style="color:rgb(255,255,255)"> </span>
<span class="gradientizer-done" style="color:rgb(219,219,219)">H</span>
<br>
<span class="gradientizer-done" style="color:rgb(109,109,109)">l</span>
</p>
基本上,revert函数旨在将所有
gradientizer-done
类都更改为text,也就是说,在$(".grad2").revert()
上运行revert时,我希望得到以下结果:<p class="grad2" one="ffffff" second="000000">
H<br>l</p>
但是我发现
<p></p>
没有变化 最佳答案
您已经在style=
属性后加上了单引号而不是双引号,而且您忘记了在style
属性的末尾加上了双引号。
$(this).html().replace(/<span class="gradientizer-done" style="color:rgb\(\d{1,3},\d{1,3},\d{1,3}\)">.<\/span>/g,'');
^ ^
关于javascript - 正则表达式不替换JS中的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28540721/