Javascript 如何在contenteditable div中获取范围的起始位置?

Javascript 如何在contenteditable div中获取范围的起始位置?,javascript,html,css,Javascript,Html,Css,我需要得到一个跨度的起始位置,我怎么做 比如说, <div id="input" contenteditable="true"> I<span id="first">Like</span><span id="second">Apples</span><span id="third">Day</span> </div> 但它返回的是奇怪的 我想到了一个想法,就是只获取html,然后使用inde

我需要得到一个跨度的起始位置,我怎么做

比如说,

<div id="input" contenteditable="true">
    I<span id="first">Like</span><span id="second">Apples</span><span id="third">Day</span>
</div>
但它返回的是奇怪的

我想到了一个想法,就是只获取html,然后使用indexOf()来查找span标记


有没有更好的方法可以做到这一点?

类似位置或偏移位置索引中的位置?请查看此用户的答案:。它们将为您提供整个范围的选择和文本操作。@Pete ContentEditable div中跨度的起始索引。对于ILikeAppleDay,索引应为1Hi Pete,但您提供的链接是关于数组的~
$("#first")[0].offsetLeft