取得範圍相對於其父容器的開始和結束偏移
在HTML 文件中,使用者選擇可以擴展到不同的元素和文字節點。確定所選內容的父容器內字元的確切範圍可能具有挑戰性。但是,無論瀏覽器如何變化,我們都可以利用各種技術來實現這一目標。
一種方法涉及克隆選擇範圍並將其端點設定為父容器的起點和終點。透過將結果文字內容與原始選擇範圍進行比較,我們可以計算相對於父級的開始和結束偏移量。以下是 JavaScript 中的範例:
function getSelectionCharacterOffsetWithin(element) { var start = 0; var end = 0; var preCaretRange = range.cloneRange(); preCaretRange.selectNodeContents(element); preCaretRange.setEnd(range.startContainer, range.startOffset); start = preCaretRange.toString().length; preCaretRange.setEnd(range.endContainer, range.endOffset); end = preCaretRange.toString().length; return { start: start, end: end }; }
此方法提供父容器內的開始和結束偏移量,考慮 HTML 標籤和文字節點遍歷。它可用於需要精確字元偏移的各種應用程序,例如文字編輯工具和內容操作腳本。
以上是如何取得所選內容在其父容器中的開始和結束偏移量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!