【发布时间】:2012-11-29 23:15:02
【问题描述】:
我有导航项目,其中一些有一个标签,然后是一小段文字,它们用括号括起来。我需要缩小这个文本。
我知道如何进行查找和替换...但我不知道如何实现这一点。因此,如果我的导航项中的文本是:
ADF(澳大利亚国防人员)
我想给括号 + 文本一个新的类,这样它们会更小
这可能吗?
谢谢
【问题讨论】:
标签: jquery styles find replace addclass
我有导航项目,其中一些有一个标签,然后是一小段文字,它们用括号括起来。我需要缩小这个文本。
我知道如何进行查找和替换...但我不知道如何实现这一点。因此,如果我的导航项中的文本是:
ADF(澳大利亚国防人员)
我想给括号 + 文本一个新的类,这样它们会更小
这可能吗?
谢谢
【问题讨论】:
标签: jquery styles find replace addclass
你可以做这样的事情。 (显然您可以将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>'));
【讨论】:
css 和 javascript。使用它们而不是将它们包含在html 面板中。像这样jsfiddle.net/fpZKG/1
一个非常简单的解决方案(也很天真)是使用
$('#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。
【讨论】: