【问题标题】:How Do I Remove a text Parenthesis Using JQuery?如何使用 JQuery 删除文本括号?
【发布时间】:2011-08-25 11:34:04
【问题描述】:

我有一些自动生成的文本,其中包含非 ascii 编码的括号。例如:

<div> Some text (these are the non-ascii encoded parenthesis).
<div>

我想去掉括号。我有以下内容,我在其他地方使用它来清除一些 html 元素,但我无法获得类似于删除实际文本的工作:

     jQuery(document).ready(function(){jQuery(".block").find("p").remove()});

我发现了一些想法,但它们处理的是普通文本。去掉括号是一个挑战,因为我不确定如何编写括号以便 jQuery 理解它。

有什么想法吗?

【问题讨论】:

  • 您想去掉括号本身,还是去掉括号中的所有内容?
  • 我只是想去掉括号,但看起来安迪在下面的答案包括代码,也可以消除介于两者之间的所有内容。感谢您的回复。

标签: javascript jquery text element


【解决方案1】:

您应该使用原版 Javascript 进行替换/清理。类似的东西

$('div').text(function(_, text) {
    return text.replace(/\(|\)/g, '');
});

会做的。请注意,这将查询整个侧的所有 &lt;div&gt; 节点,您希望在选择器上更具体。

演示:http://jsfiddle.net/2gHh2/

如果您想删除括号和中间的所有内容,只需将正则表达式更改为 /\(.*?\)/g

【讨论】:

  • 如果整个 div 都是文本,但 div 中还有其他元素,那效果很好。这些正在被抹杀。例如,在您的小提琴网站上,在 div 中添加一个 元素......它会被忽略,我的意思是它不会被浏览器解释并显示为链接。
  • @user624385:我已经更新了 jsfiddle。见jsfiddle.net/2gHh2/2。这也应该为父节点中的任何子节点完成这项工作。
  • 是的!您在 jsfiddle.net/2gHh2/2 上的回答非常完美!先生非常感谢您!我给你 5 美元买了一杯咖啡。非常感谢。
  • @user624385:哦,太好了,谢谢老兄。 (我梦想每一个答案都能得到5块钱的奖励……呵呵)
  • 删除括号之间的位也有很大帮助!谢谢 jAndy :)
猜你喜欢
  • 2016-08-24
  • 2019-10-29
  • 2021-02-20
  • 2013-11-17
  • 1970-01-01
  • 2012-03-10
  • 1970-01-01
  • 1970-01-01
  • 2018-12-19
相关资源
最近更新 更多