我有具体的代码:
<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>
基本上,恢复功能旨在将所有gradientizer-done
类更改为文本,即在$(".grad2").revert()
上运行恢复时我希望得到以下结果:
<p class="grad2" one="ffffff" second="000000">
H<br>l</p>
但我发现<p></p>
答案 0 :(得分:2)
您在style=
属性后面放了一个引号而不是双引号,而且您忘记在style
属性的末尾加上双引号。
$(this).html().replace(/<span class="gradientizer-done" style="color:rgb\(\d{1,3},\d{1,3},\d{1,3}\)">.<\/span>/g,'');
^ ^
答案 1 :(得分:2)
更好的解决方案是:
var $container = $(".grad2");
$container.find(".gradientizer-done").each(function(){
$(this).after($(this).text())
$(this).remove()
})