1

重複の可能性:
jQueryでテキスト文字列を見つけて太字にする

jQuery :contains(some text) セレクターを使用して、「this is some text」から「some text」のみを選択するにはどうすればよいですか?

私はこのようなものを持っています:

<div class="search">this is some text</div>

現在、次のようなコードを使用しています。

$("div.search:contains(some text)").css("text-decoration","underline");

しかし、それは「これはいくつかのテキストです」に下線を引き、「いくつかのテキスト」にのみ下線を引きたいのです。

どうすればそれを最も簡単に達成できますか?

4

2 に答える 2

2

内部テキストを独自の要素でラップするには、正規表現を使用する必要があります。

$('div.search:contains(some text)').html(function (i, v) {
    return v.replace('some text', '<span>some text</span>');
})
.find('span').css('text-decoration', 'underline');

内にネストされた要素がない場合にのみ、これを使用しますdiv.search。もしあれば、これはまったく別の球技です。

于 2013-01-06T03:35:59.583 に答える
0

jQuery ハイライト プラグインのようなものを分解して、その方法を見つけることができます。または、プラグインをそのまま使用し、適用された css クラスを変更して、黄色の背景色ではなく下線を含めることもできます。

必ずしも質問に答えているわけではありませんが、学習ではなく機能性を追求する場合は、車輪を再発明しないでください。

http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html

于 2013-01-06T03:43:12.813 に答える