プロが教える店舗&オフィスのセキュリティ対策術

簡単なホームページを作っているのですが、例えばページ内の特定のテキストを検索する場合は
Ctrl+Fで検索できますが、自分で作っているページなので、FORMとJavaScriptを使って
キーワードを formのテキストに入力し、検索ボタンを押すと、1つめのfind位置にジャンプし、
ページ内のキーワード全てに黄色の反転をさせたいのですが、可能でしょうか?
DOM?というものを詳しく知る必要があると思いますが、お勧めの書籍がありましたら教えてください。

A 回答 (2件)

DOMか何かはわかりません。


ここに↓
http://mist.freespace.jp/kumisuke/bookmarklet.html
Bookmarklet という,ブラウザの「お気に入り」に登録して利用するJavaScriptが紹介されているのですが,
このページの真ん中あたりにに
「ページ内の指定テキストを強調表示(タグを壊さずそこそこ速いハイライト検索) 」
というBookmarkletがあります。

これをJavaScriptに逆輸入して,以下のようなものを作ったら,
「ページ内の指定テキストを強調表示(タグを壊さずそこそこ速いハイライト検索) 」
がボタンでできました。

-------------------------------------
<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>検索</title>
</head>

<body>
<p><INPUT type="button" value="ページ内検索"
onclick="javascript:(function(){ var d = document.body, e = prompt(&quot;&quot;, &quot;&quot;); d.innerHTML = d.innerHTML.replace(RegExp(&quot;&gt;[^&lt;]*(?:&quot;+e+&quot;)[^&lt;]*&lt;&quot;, &quot;ig&quot;),function(a){ return a.replace(RegExp(e, &quot;ig&quot;), '&lt;span style=&quot;color:Black;background:Yellow;&quot;&gt;$&amp;&lt;/span&gt;'); }); })()"></p>
<p>あいうえお<br>
かきくけこ<br>
さしすせそ</p>
</body>
</html>
------------------------------------

javascript:(function ~~ の部分は改行されているように見えますが一行です。
    • good
    • 1

http://www.mozilla-japan.org/docs/dom/technote/t …

http://www.parkcity.ne.jp/~chaichan/src/javascdo …
を参考にするといいです。
http://www.mozilla-japan.org/docs/dom/technote/w …
には指定した文字列を書き換え、背景を黄色にするサンプルが下のほうの
使用例にあり、デモページで動作を見ることも出来ます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!