首页 > 解决方案 > 用 jQuery 删除括号

问题描述

我想(remove this)div内容中删除。我正在使用它,它可以工作,但它也会barfoo?

var replaced = $("div").html().replace(/\(.*\)/g, '');
$("div").html(replaced);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  foo (remove this)
</div>
<div>
  bar
</div>

https://jsfiddle.net/9uofygx0/1/

标签: javascriptjquery

解决方案


问题是因为您正在设置所有 div元素的 HTML。相反,您需要逐个循环更新它们。为此,您可以提供一个html()基于原始值返回新值的函数。试试这个:

$("div").html(function(i, html) {
  return html.replace(/\(.*\)/g, '');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>foo (remove this)</div>
<div>bar</div>


推荐阅读