0

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

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

ADF(澳大利亚国防人员)

我想给括号+文本一个新的类,这样它们会更小

这可能吗?

谢谢

4

2 回答 2

1

你可以做这样的事情。(显然您可以更改new_class为您想要的任何类名)。这是一个链接,您可以在其中查看它的实际操作。

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>'));
于 2012-11-29T23:27:00.173 回答
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。

于 2012-11-29T23:55:40.533 回答