我想知道一个角色在div中的位置。
例如
<div>This is a very long multi-line text that overflows and wraps<div>
我想找到字符在位置24的绝对x和y位置(即“-”)。有可能吗?
最佳答案
有一种方法可以在不使用元素包装文本的情况下获得纯JavaScript中的文本偏移位置:
var characters = document.querySelector('.characters');
var charactersText = characters.textContent;
var charAtIndex = 25;
var offsetPosition;
characters.textContent = '';
for (var i = 0; i < charactersText.length; i++) {
var textNode = document.createTextNode(charactersText[i]);
characters.appendChild(textNode);
if (i === charAtIndex) {
var range = document.createRange();
range.selectNodeContents(textNode);
var rects = range.getClientRects();
offsetPosition = {
left: rects[0].left,
top: rects[0].top
};
}
}
alert(JSON.stringify(offsetPosition, null, 2));
<div class="characters">This is a very long multi-line text that overflows and wraps</div>
关于jquery - 获取字符在特定索引处的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29186964/