ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery を使用してテキスト内の特定の単語を強調表示するにはどうすればよいですか?

jQuery を使用してテキスト内の特定の単語を強調表示するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-07 20:40:16
オリジナル
284 人が閲覧しました

How Can I Highlight a Specific Word within Text Using jQuery?

jQuery で単語を強調表示する

質問:

テキスト ブロック内の特定の単語を強調表示します。たとえば、次のテキストで「dolor」を強調表示します:

<p>
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
</p>
<p>
    Quisque bibendum sem ut lacus. Integer dolor ullamcorper libero.
    Aliquam rhoncus eros at augue. Suspendisse vitae mauris.
</p>
ログイン後にコピー

期待される結果:

<p>
    Lorem ipsum <span class="myClass">dolor</span> sit amet, consectetuer adipiscing elit.
</p>
<p>
    Quisque bibendum sem ut lacus. Integer <span class="myClass">dolor</span> ullamcorper
    libero. Aliquam rhoncus eros at augue. Suspendisse vitae mauris.
</p>
ログイン後にコピー

jQuery Solution:

はい、jQuery を使用してこの効果を実現できます。次のコード スニペットは、解決策を提供します。

$.fn.highlight = function(word) {
  var pattern = word.replace(/[-[\]{}()*+?.,\^$|#\s]/g, "\$&amp;&quot;");
  return this.each(function() {
    $(this).html($(this).html().replace(new RegExp("(" + pattern + ")", "gi"), "<span class='highlight'>$&amp;</span>"));
  });
};

$("p").highlight("dolor");
ログイン後にコピー

説明:

  1. $.fn.highlight は、単語を文字列として受け取るカスタム jQuery 関数です。
  2. パターン変数は、パラメータ内の特殊文字をエスケープすることで正規表現パターンを作成します。 word.
  3. each 関数は、一致したすべての要素 (この場合は段落タグ) を反復処理し、単語の出現箇所をその単語を囲む タグで置き換えます。
  4. 最後に、 $("p").highlight("dolor") 行はカスタム関数を呼び出し、「dolor」を単語として渡します。

注:

他にも多数の jQuery ベースのソリューションや外部プラグインが利用可能で、特定のニーズに応え、追加機能を提供します。これらのオプションを検討して、要件に最適なものを見つけてください。

以上がjQuery を使用してテキスト内の特定の単語を強調表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート