3分で分かる!JavaScriptでハイライト表示機能の実装方法

2024-07-27

jQueryで単語をハイライト表示する

前提条件

このチュートリアルを始める前に、以下の知識が必要です。

  • HTML
  • CSS
  • jQuery

ハイライト表示の基本

単語をハイライトするには、以下の2つの方法があります。

background-color プロパティを使う

<p>これはハイライトしたい単語です</p>
.highlight {
  background-color: yellow;
}
$(function() {
  $("p").html($("p").text().replace(/ハイライトしたい単語/g, "<span class='highlight'>ハイライトしたい単語</span>"));
});

span タグを使う

<p><span class="highlight">これはハイライトしたい単語です</span></p>
.highlight {
  background-color: yellow;
}
$(function() {
  $("p").html($("p").text().replace(/ハイライトしたい単語/g, "<span class='highlight'>ハイライトしたい単語</span>"));
});

どちらの方法でも、background-color プロパティを使ってハイライトしたい単語の背景色を変えることができます。

複数の単語をハイライト表示する

複数の単語をハイライト表示するには、replace() メソッドを複数回呼び出すか、正規表現を使うことができます。

複数の replace() メソッドを使う

$(function() {
  $("p").html($("p").text().replace(/ハイライトしたい単語1/g, "<span class='highlight'>ハイライトしたい単語1</span>").replace(/ハイライトしたい単語2/g, "<span class='highlight'>ハイライトしたい単語2</span>"));
});

正規表現を使う

$(function() {
  $("p").html($("p").text().replace(/ハイライトしたい単語1|ハイライトしたい単語2/g, "<span class='highlight'>$&</span>"));
});

$& は、マッチした文字列全体を表します。

大文字と小文字を区別しない

大文字と小文字を区別せずにハイライト表示するには、i フラグを指定します。

$(function() {
  $("p").html($("p").text().replace(/ハイライトしたい単語/gi, "<span class='highlight'>$&</span>"));
});



<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>Highlight a word with jQuery</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <p>これはハイライトしたい単語です</p>
  <p><span class="highlight">これはハイライトしたい単語です</span></p>
  <script src="jquery.min.js"></script>
  <script src="script.js"></script>
</body>
</html>
.highlight {
  background-color: yellow;
}
$(function() {
  // 単語をハイライト表示する
  $("p").html($("p").text().replace(/ハイライトしたい単語/g, "<span class='highlight'>$&</span>"));

  // 複数の単語をハイライト表示する
  $("p").html($("p").text().replace(/ハイライトしたい単語1|ハイライトしたい単語2/g, "<span class='highlight'>$&</span>"));

  // 大文字と小文字を区別せずにハイライト表示する
  $("p").html($("p").text().replace(/ハイライトしたい単語/gi, "<span class='highlight'>$&</span>"));
});

このコードを実行すると、以下のようになります。

これはハイライトしたい単語です

これはハイライトしたい単語です

実行方法

このコードを実行するには、以下の手順が必要です。

  1. 上記のコードをHTMLファイルとCSSファイルに保存します。
  2. jQueryライブラリをダウンロードして、HTMLファイルと同じディレクトリに保存します。
  3. HTMLファイルをブラウザで開きます。



単語をハイライト表示する他の方法

JavaScript

<p>これはハイライトしたい単語です</p>
function highlight(text, word) {
  return text.replace(new RegExp(word, "gi"), "<span class='highlight'>$&</span>");
}

$("p").html(highlight($("p").text(), "ハイライトしたい単語"));
<p>これは<span class="highlight">ハイライトしたい単語</span>です</p>
.highlight {
  background-color: yellow;
}
<p>これは<strong>ハイライトしたい単語</strong>です</p>

javascript jquery html



質問:HTMLのフォーム入力フィールドでブラウザのオートコンプリートを無効にする方法

上記のコードでは、usernameという名前の入力フィールドにautocomplete="off"を設定しています。これにより、ブラウザは過去の入力履歴に基づいて自動的に値を提案しなくなります。autocomplete属性には、以下のような値を設定することもできます。...


JavaScript、HTML、およびポップアップを使用したブラウザのポップアップブロック検出方法

window. open 関数は、新しいウィンドウまたはタブを開きます。ブラウザがポップアップをブロックしている場合、この関数はエラーを生成します。このエラーを処理して、ポップアップがブロックされているかどうかを判断できます。window...


JavaScript、HTML、およびポップアップを使用したブラウザのポップアップブロック検出方法

window. open 関数は、新しいウィンドウまたはタブを開きます。ブラウザがポップアップをブロックしている場合、この関数はエラーを生成します。このエラーを処理して、ポップアップがブロックされているかどうかを判断できます。window...


JavaScriptを使用してHTML要素の背景色をCSSプロパティで設定する方法

このチュートリアルでは、JavaScriptを使用してHTML要素の背景色をCSSプロパティで設定する方法について説明します。方法HTML要素の背景色を設定するには、以下の3つの方法があります。style属性HTML要素のstyle属性を使用して、直接CSSプロパティを指定できます。...


JavaScript オブジェクトの長さを取得する代替的な方法

JavaScriptにおけるオブジェクトは、プロパティとメソッドを持つデータ構造です。プロパティはデータの値を保持し、メソッドはオブジェクトに対して実行できる関数です。JavaScriptの標準的なオブジェクトには、一般的に「長さ」という概念はありません。これは、配列のようなインデックスベースのデータ構造ではないためです。...



SQL SQL SQL SQL Amazon で見る



Internet Explorer 7 で絶対配置された親要素における子要素のパーセンテージ幅が崩れる理由

Internet Explorer 7 (IE7) では、絶対配置された親要素の子要素にパーセンテージ幅を設定すると、幅が意図せず崩れる場合があります。これは、IE7 の古いボックスモデルと CSS 2.1 の解釈に起因する問題です。原因この問題の根本的な原因は、IE7 が古いボックスモデルを使用していることです。このモデルでは、要素の幅はコンテンツ幅、パディング、ボーダーの合計で計算されます。一方、CSS 2.1 では、要素の幅はコンテンツ幅のみで計算されます。


HTML、ブラウザ、タイムゾーンを用いたユーザーのタイムゾーン特定

この解説では、HTML、ブラウザ、タイムゾーンの知識を用いて、ユーザーのタイムゾーンを特定するプログラミング方法について説明します。方法ユーザーのタイムゾーンを特定するには、主に以下の2つの方法があります。JavaScriptJavaScriptを用いて、ユーザーのブラウザからタイムゾーン情報に直接アクセスする方法です。


JavaScript/jQueryでフォーム送信時の動作をカスタマイズする

異なる処理を実行する ボタン1: 注文確定 ボタン2: カートに入れるボタン1: 注文確定ボタン2: カートに入れる異なるページに遷移する ボタン1: 次のステップへ進む ボタン2: キャンセルボタン1: 次のステップへ進むボタン2: キャンセル


JavaScript、HTML、CSSでWebフォントを検出する方法

CSS font-family プロパティを使用するCSS font-family プロパティは、要素に適用されるフォントファミリーを指定するために使用されます。このプロパティを使用して、Webページで使用されているフォントのリストを取得できます。


JavaScript、HTML、CSSでWebフォントを検出する方法

CSS font-family プロパティを使用するCSS font-family プロパティは、要素に適用されるフォントファミリーを指定するために使用されます。このプロパティを使用して、Webページで使用されているフォントのリストを取得できます。