Range.startOffset - 始点の位置
startOffsetは、Rangeのプロパティです。始点の位置を返します。
概要
- 名前
- startOffset
- 所属
- Range
- IDL
readonly attribute unsigned long startOffset;
- 仕様書
- https://dom.spec.whatwg.org/#dom-range-startoffset
説明
始点の位置を数値で返す。これは始点があるノード(startContainer)の先頭から、始点の位置までのオフセット(文字数)を数値で表したものです。
デモ
Range.startOffsetのデモです。選択範囲をRangeで表現したオブジェクトのプロパティを参照します。テキストを選択してみて下さい。
<!-- このコードは編集できます。 -->
<!DOCTYPE html>
<head>
<style>
body { word-break: break-all ; }
div#result { white-space: pre-wrap ; }
</style>
</head>
<body>
<p>1234567890<br>あいうえおかきくけこ<br>abcdefghij<br>ABCDEFGHIJ</p>
<hr>
<div id="result"></div>
<script>
document.onselectionchange = function () {
document.getElementById( "result" ).textContent = "" ;
var selection = getSelection() ;
var range = selection.getRangeAt(0) ;
console.log( range ) ;
appendText( range + "\n\n" ) ;
appendText( "startContainer: " + range.startContainer + "\n" ) ;
appendText( "startContainer.data: " + range.startContainer.data + "\n" ) ;
appendText( "startOffset: " + range.startOffset + "\n" ) ;
appendText( "endContainer: " + range.endContainer + "\n" ) ;
appendText( "endContainer.data: " + range.endContainer.data + "\n" ) ;
appendText( "endOffset: " + range.endOffset + "\n" ) ;
appendText( "collapsed: " + range.collapsed + "\n" ) ;
appendText( "commonAncestorContainer: " + range.commonAncestorContainer + "\n" ) ;
appendText( "commonAncestorContainer.data: " + range.commonAncestorContainer.data + "\n" ) ;
}
function appendText ( text ) {
document.getElementById( "result" ).appendChild( document.createTextNode( text ) ) ;
}
</script>
</body>
</html>
サポート状況
Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|
● | ● | ● | ● | ● | ● | ● | ● |
関連記事
- Selection.type
- typeは、Selectionのプロパティです。選択範囲の種類を文字列で返します。
- Selection.focusNode
- focusNodeは、Selectionのプロパティです。選択範囲の終点を含むノードを返します。
- Selection.addRange()
- addRange()は、Selectionのメソッドです。Rangeを指定して選択範囲をセットします。既に選択範囲が存在する場合、無視されます。
- Range.startContainer
- startContainerは、Rangeのプロパティです。始点を含むノードを返します。