我有导航项目,其中一些有一个标签,然后是一小段文字,它们用括号括起来。我需要使这个文本更小。
我知道如何查找和替换......但我不知道如何实现这一点。因此,如果我的导航项中的文本是:
ADF(澳大利亚国防人员)
我想给括号+文本一个新的类,这样它们会更小
这可能吗?
谢谢
你可以做这样的事情。(显然您可以更改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>'));
一个非常简单的解决方案(也很天真)是使用
$('#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。