jQuery - 查找括在括号中的文本?

时间:2012-11-29 23:15:02

标签: jquery styles find replace addclass

我有导航项目,其中一些有标签,然后是用括号括起来的一小段文字。我需要缩小这个文本。

我知道如何进行查找和替换...但我不知道如何实现这一目标。因此,如果我的导航项中的文字是:

ADF(澳大利亚国防人员)

我想给括号+文本一个新类,以便它们更小

这可能吗?

由于

2 个答案:

答案 0 :(得分:1)

你可以这样做。 (显然,您可以将new_class更改为您想要的任何类名称。 Here is a link你可以在哪里查看它。

<强> HTML

<ul>
  <li id="ADF">ADF (Australian Defence Personnel)</li>
</ul>

<强> CSS

span.new_class {
  font-size: 11px;
}

<强>的JavaScript

$('#ADF').html($('#ADF').html().replace(/(\([^)]+\))/, 
                                 '<span class="new_class">$1</span>'));

答案 1 :(得分:0)

一个非常简单的解决方案(也很天真)是使用

$('#text').text().replace('(', '<span class="small">(').replace(')', ')</span>')

如果您的文字具有结构

<div id="text">ADF (Australian Defence Personnel)</div>

并且括号中始终只有一段文字...这样可以使用,但是对于更强大,但也更复杂的东西,你可以使用正则表达式

$('#text').text().replace(/.*?(\(.*?\)).*?/, '<span class="small">$1</span>')

jquery可以很容易地找到任何元素。使用

$('#someId').text()

将为您提供该元素的文本,然后replace是常规Javascript而不是jquery。