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>

括弧内のテキストは常に1つだけです...これは機能しますが、より堅牢で複雑なものには、正規表現を使用できます

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

jquery は、あらゆる要素を非常に簡単に見つけることができます。使用する

$('#someId').text()

その要素のテキストが表示され、replacejquery ではなく通常の Javascript が表示されます。

于 2012-11-29T23:55:40.533 に答える