ドキュメントのテキストを検索する
前のトピック: TextRangeオブジェクトの使用 次のトピック: 位置指定 |
ドキュメントのテキストを検索する
TextRangeオブジェクトのfindTextメソッドを使うと、ドキュメント内の指定した文字列を検索できる。このメソッドは指定したレンジの先頭から検索を開始し、文字列が見つかるとそのレンジを指定するので、文字列を完全に囲むことができる。次の例は、findTextメソッドを使って"sample"という単語の各インスタンスを検索し、文字列を見つけたインスタンス回数をメッセージで表示する。
var rng = document.body.createTextRange(); for (i=0; rng.findText("sample")!=false; i++) { rng.collapse( ); } alert("There are " + i + " instances of sample");上記の例では、"sample"の同一インスタンスが2回数えられないように、collapseメソッドを使って、テキストレンジの始点を終点として同じ位置に移動する。
findTextメソッドとtextプロパティを使うと、グローバルな文字列置換を実行することができる。次の例は、"sample"という各インスタンスを検索し、すべて"final"という単語に置き換える。
var rng = document.body.createTextRange(); for (i=0; rng.findText("sample")!=false; i++) { rng.text = "final"; }selectメソッドを使うと、検索されたテキストを選択(ハイライト表示)するのでユーザーが見つけやすい。同様に、scrollIntoViewメソッドを使うと、検索されたテキストがウィンドウ内に表示されるようにスクロールする。この2つのメソッドを共に使えば、検索結果を明確にユーザーに表示できる。次に示すJScriptの例では、"sample"を検索し、その単語を選択し、ウィンドウ内の上端にその単語をスクロールする。
var rng = document.body.createTextRange(); if (rng.findText("sample")==true) { rng.select(); rng.scrollIntoView(); }また、ユーザーが作成したセレクションからもテキストレンジを作成できる。selectionオブジェクトのcreateRangeは、テキストレンジを返す。createTextRangeを使って作成したレンジと同様、このレンジに同じメソッドとプロパティが使える。
トップに戻る
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.