以下是在网站上加载的HTML代码段,我无法通过3D Cart中的代码块加载它:
<div class="opt-field">
<label for="text56">4kg - $19 [+$19.00]</label>
<input type="text" size="3" name="text56" value="0"><br>
<label for="text58">8kg/18lb - $29 - Currently Out of Stock [+$29.00]</label>
<input type="text" size="3" name="text58" value="0"><br>
<label for="text59">12kg/26lb - $39 - Currently Out of Stock [+$39.00]</label>
<input type="text" size="3" name="text59" value="0"><br>
</div>
我想删除附加到每个标签的自动生成的[+ $ price]。我尝试了很多我在这里发现的变化,但似乎没有任何影响。
$(document).ready(function() {
var str = $('.opt-field label');
var r = str.replace(/[(\[].*?[)\]] */g, "");
$('label').html(r);
});
以下是我一直在尝试的jsfiddle:https://jsfiddle.net/32rch0n9/1/
感谢您提供任何帮助/建议
答案 0 :(得分:0)
如果您只想删除括号,可以使用以下正则表达式
[\*?[)\]]
如果您想删除括号和价格,请使用以下正则表达式
[\[].*?[)\]]
此外,您可以使用regexr.com进行测试
答案 1 :(得分:0)
Reference: [https://jsfiddle.net/32rch0n9/5/][1]
Your regular expression works. The catch is you have to apply for each label. Refer to the above fiddle for sample.
[1]: https://jsfiddle.net/32rch0n9/5/
答案 2 :(得分:0)
你的错误是你的JS代码,你没有使用标签列表。
$('.opt-field label').each(function(index, item){
console.log($(item).text());
var r = $(item).text().replace(/[(\[].*?[)\]] */g, "");
$(item).html(r);
});