簡體   English   中英

jQuery從標簽中刪除括號/文本

[英]jQuery Remove Brackets/Text from Label

這是網站上加載的HTML片段,由於它是通過3D購物車中的代碼塊加載的,因此我無法更改它:

    <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/

感謝您的幫助/建議

如果只想刪除括號,則可以使用以下正則表達式

[\*?[)\]]

如果要刪除括號和內部價格,請使用以下正則表達式

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

另外,您可以使用regexr.com進行測試

http://regexr.com/3dd0l

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM