jQuery从标签中删除括号/文本

时间:2016-05-10 13:54:48

标签: javascript jquery html css e-commerce

以下是在网站上加载的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/

感谢您提供任何帮助/建议

3 个答案:

答案 0 :(得分:0)

如果您只想删除括号,可以使用以下正则表达式

[\*?[)\]]

如果您想删除括号和价格,请使用以下正则表达式

[\[].*?[)\]]

此外,您可以使用regexr.com进行测试

Multi Chart 2

答案 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);
    });