jQuery 从标签中删除 Brackets/Text
jQuery Remove Brackets/Text from Label
这是网站上加载的 HTML 片段,我无法更改它,因为它是通过 3D 购物车中的代码块加载的:
<div class="opt-field">
<label for="text56">4kg - [+.00]</label>
<input type="text" size="3" name="text56" value="0"><br>
<label for="text58">8kg/18lb - - Currently Out of Stock [+.00]</label>
<input type="text" size="3" name="text58" value="0"><br>
<label for="text59">12kg/26lb - - Currently Out of Stock [+.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/
感谢任何 help/suggestions
如果您只想删除括号,可以使用以下正则表达式
[\*?[)\]]
如果您想删除括号和里面的价格,请使用以下正则表达式
[\[].*?[)\]]
此外,您可以使用 regexr.com 进行测试
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/
你的错误是你的 JS 代码,你没有使用标签列表。
$('.opt-field label').each(function(index, item){
console.log($(item).text());
var r = $(item).text().replace(/[(\[].*?[)\]] */g, "");
$(item).html(r);
});
这是网站上加载的 HTML 片段,我无法更改它,因为它是通过 3D 购物车中的代码块加载的:
<div class="opt-field">
<label for="text56">4kg - [+.00]</label>
<input type="text" size="3" name="text56" value="0"><br>
<label for="text58">8kg/18lb - - Currently Out of Stock [+.00]</label>
<input type="text" size="3" name="text58" value="0"><br>
<label for="text59">12kg/26lb - - Currently Out of Stock [+.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/
感谢任何 help/suggestions
如果您只想删除括号,可以使用以下正则表达式
[\*?[)\]]
如果您想删除括号和里面的价格,请使用以下正则表达式
[\[].*?[)\]]
此外,您可以使用 regexr.com 进行测试
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/
你的错误是你的 JS 代码,你没有使用标签列表。
$('.opt-field label').each(function(index, item){
console.log($(item).text());
var r = $(item).text().replace(/[(\[].*?[)\]] */g, "");
$(item).html(r);
});