Javascript 正则表达式不替换JS中的文本
我有具体的代码:Javascript 正则表达式不替换JS中的文本,javascript,jquery,regex,Javascript,Jquery,Regex,我有具体的代码: <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>
$.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>
但是我在
中没有看到任何变化。您在style=
属性后面加了一个单引号,而不是双引号,而且您忘了在style
属性后面加双引号
$(this).html().replace(/<span class="gradientizer-done" style="color:rgb\(\d{1,3},\d{1,3},\d{1,3}\)">.<\/span>/g,'');
^ ^
$(this.html().replace(//g');
^ ^
您在style=
属性后加了一个单引号,而不是双引号,而且您忘记在style
属性的末尾加双引号
$(this).html().replace(/<span class="gradientizer-done" style="color:rgb\(\d{1,3},\d{1,3},\d{1,3}\)">.<\/span>/g,'');
^ ^
$(this.html().replace(//g');
^ ^
更好的解决方案是:
var $container = $(".grad2");
$container.find(".gradientizer-done").each(function(){
$(this).after($(this).text())
$(this).remove()
})
更好的解决办法是:
var $container = $(".grad2");
$container.find(".gradientizer-done").each(function(){
$(this).after($(this).text())
$(this).remove()
})
非常感谢你。刚才注意到我还忘了捕获组和$1捕获组?哪里你的正则表达式没有任何捕获组。我是说我忘了添加它以使我的函数正常工作。。非常感谢你。刚才注意到我还忘了捕获组和$1捕获组?哪里你的正则表达式没有任何捕获组。我是说我忘了添加它以使我的函数正常工作。。非挥发性物质