私はナビゲーション項目を持っています。それらのいくつかにはラベルがあり、その後に括弧で囲まれた短いテキストがあります。このテキストを小さくする必要があります。
検索と置換の方法は知っていますが、これを実現する方法がわかりません。したがって、ナビゲーション項目のテキストが次の場合:
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>
括弧内のテキストは常に1つだけです...これは機能しますが、より堅牢で複雑なものには、正規表現を使用できます
$('#text').text().replace(/.*?(\(.*?\)).*?/, '<span class="small">$1</span>')
jquery は、あらゆる要素を非常に簡単に見つけることができます。使用する
$('#someId').text()
その要素のテキストが表示され、replace
jquery ではなく通常の Javascript が表示されます。