我有这段代码
<div class="new">
<label> text text text (=price) </label>
</div>
我想删除价格附近的“(=”和“)”,
我尝试过以下但无济于事:
jQuery(document).ready(function() {
jQuery(".new label").each(function() {
jQuery(this).text(jQuery(this).text().replace(/[(=]/, ""));
});
});
答案 0 :(得分:5)
我认为你的正则表达式是关闭的。试试这个:
jQuery(this).text(jQuery(this).text().replace(/\(=(.*?)\)/, "$1"));
答案 1 :(得分:0)
此jsfiddle将与正则表达式匹配,并将内容替换为price
(在我的示例中,您可以执行任何操作)。
这是js:
jQuery(document).ready(function() {
jQuery(".new label").each(function() {
jQuery(this).text(jQuery(this).text().replace(/\(=([A-z]*)\)/, "$1"));
});
});
<强>解释强>
[A-z]
)。\(=
和/)
(不要忘记转义括号)$1
(这是括号(...)
之间的第一个设置)请参阅this page
上的轮换段落答案 2 :(得分:0)
没人提到'g'标志,它将取代全球的一切:
$(".new label").each(function() {
$(this).text($(this).text().replace(/[\)\(=]?/g, ""));
});
你还需要逃避括号。
编辑我不会删除这个答案,但不应该使用它,因为现在我重新阅读它,很明显它会替换整个括号中的任何括号或等号标签的文字。使用Ben Lee的解决方案。
答案 3 :(得分:-1)
jQuery(".new label").each(function() {
jQuery(this).text(jQuery(this).text().replace("(=", "").replace(")", ""));
});
这假设(=和)不会出现在标签的任何其他位置。