Range
オブジェクトとは document の断片で、ある document 中のノードやテキストノードの一部を含むことのできるものです。
range は document
オブジェクトの createRange
メソッドにより生成することができます。また、Selection
オブジェクトの getRangeAt
メソッドにより取得することもできます。
プロパティ
-
range.collapsed
- range の始点と終点が同じ位置にあるか否かを示す真偽値を返す
-
range.commonAncestorContainer
- startContainer と endContainer をともに含む、最も深いノードを返す
-
range.endContainer
- Range の終点を含むノードを返す
-
range.endOffset
- endContainer の中での Range の終点の位置を示す数字を返す
-
range.startContainer
- Range の始点を含むノードを返す
-
range.startOffset
- startContainer の中での Range の始点の位置を示す数字を返す
メソッド
ポジショニングメソッド
これらのメソッドは、range の始点と終点を操作するためのものです。
-
range.setStart
- Range の始点を設定
-
range.setEnd
- Range の終点を設定
-
range.setStartBefore
- 他のノードを基準に Range の始点を設定
-
range.setStartAfter
- 他のノードを基準に Range の始点を設定
-
range.setEndBefore
- 他のノードを基準に Range の終点を設定
-
range.setEndAfter
- 他のノードを基準に Range の終点を設定
-
range.selectNode
- Range を、ある node とその内容を含むように設定
-
range.selectNodeContents
- Range を、ある node の内容を含むように設定
-
range.collapse
- Range をその端点の一方へ折りたたむ
内容変更メソッド
これらのメソッドは、range から Node を取得し、range の内容を変更するものです。
-
range.cloneContents
- Range の中身をコピーした document fragment を返す
-
range.deleteContents
- Range の中身を document から削除
-
range.extractContents
- Range の中身をドキュメントツリー からドキュメントフラグメントに移動
-
range.insertNode
- Range の始点に Node を挿入
-
range.surroundContents
- Range の中身を新しい Node の中に移動
その他のメソッド
-
range.compareBoundaryPoints
- 2 つの range の端点の位置を比較
-
range.cloneRange
- 元の range と同じ端点を持つ range オブジェクトを返す
-
range.detach
- パフォーマンスを改善するために、range を使用状態から開放
-
range.toString
- Range の内容を文字列として返す
Gecko 独自メソッド
ここでは、Range
のメソッドのうち、Mozilla 独自の、W3C DOM 仕様には含まれないものを解説します。
-
range.compareNode
- Node が range の前、後、中、外の内の何れの場所にあるかを示す定数を返す
-
range.comparePoint
-
指定された点が range の前、中、後の内の何れの場所にあるかを
-1
、0
、1
で示す -
range.createContextualFragment
- 渡された文字列を XML または HTML コードとして解釈し、ドキュメントフラグメントとして返す
-
range.intersectsNode
- 指定ノードの範囲と交差するか否かを示す真偽値を返す
-
range.isPointInRange
- 与えられた点が range の中にあるか否かを示す真偽値を返す