2009-03-19
jQuery 指定した文字列をハイライトするプラグイン
jQueryでプラグインとかないか探してみたら、ありました。
highlight: JavaScript text higlighting jQuery plugin http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html
MITライセンスとなっています。あまりメジャーではないのか情報が少なめだったので、本家サイトを参考に導入手順を残しておいてみます。
使い方
1. jQuery本体とプラグインの読み込み
<script>タグでjQuery本体、jquery.highlight-3.jsの順に読み込み
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.highlight-3.js"></script>
2. スタイルシートにハイライト用のクラスを記述
クラス名は「highlight」固定、背景色などは自由に記述
.highlight { background-color: yellow }
3. ハイライトを適用する
検索対象となる要素集合(任意)のjQueryオブジェクトに対して、ハイライトしたい語句を引数にしてhighlight()メソッドを呼ぶ
$(".target").highlight("さがす語句");
4. ハイライトを取り除く
取り除きたい要素集合(任意)のjQueryオブジェクトに対して、removeHighlight()メソッドを呼ぶ
$(".target").removeHighlight();
留意点
空文字(「""」)を渡すと、ブラウザが固まってしまいます。実際にやらかしまして、見たこともないChromeのダイアログが現れたりしました。ので、記念にキャプチャ。
空文字の場合は処理しないようにすべきでしょう。
コードサンプル
以下、画面遷移した直後にハイライトを適用するコード例です。検索フォームと結果が同一画面で、#keywordとid指定したテキストボックスに入力内容を保持しているとします。
<script type="text/javascript"> $(function(){ var keyword = $("#keyword").val(); if (keyword != "") { $(".target").highlight(keyword); } }); </script>
【追記】
新たに記事とサンプルを作成しました。
トラックバック - http://d.hatena.ne.jp/deeeki/20090319/jqueryhighlight
リンク元
- 351 http://arinogotokuatumarite.blog19.fc2.com/blog-entry-111.html
- 182 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC8QFjAA&url=http://d.hatena.ne.jp/deeeki/20090319/jqueryhighlight&ei=nyoqT9yEMcLymAXflo3dDw&usg=AFQjCNH6glgIVYkXzOcfbJJEgiYVVs2f_A
- 180 http://10plate.blog44.fc2.com/blog-entry-58.html
- 140 http://www.google.co.jp/search?q=jquery+ハイライト&sourceid=navclient-ff&ie=UTF-8&rlz=1B3GGGL_jaJP250JP251&aq=t
- 111 http://www.google.co.jp/url?sa=t&rct=j&q=jquery highlight&source=web&cd=2&ved=0CCgQFjAB&url=http://d.hatena.ne.jp/deeeki/20090319/jqueryhighlight&ei=g7ykTrOXJrHUmAWw67CcCQ&usg=AFQjCNH6glgIVYkXzOcfbJJEgiYVVs2f_A
- 95 http://www.google.co.jp/url?sa=t&rct=j&q=jquery ハイライト 消える アニメーション&source=web&cd=2&ved=0CCcQFjAB&url=http://d.ha
- 87 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=jQuery+ハイライト
- 85 http://www.google.co.jp/search?q=jQuery+highlight&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:ja:unofficial&client=firefox-a
- 82 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja-JP-mac:official&hs=MZv&q=jquery+ハイライト++検索&btnG=検索&lr=lang_ja
- 72 http://www.google.co.jp/search?hl=ja&q=jQuery+ハイライト&lr=&aq=f&oq=




