我有类似于此的 HTML 代码:
<pre>
words words words
words <span> words mystery words</span>
words words words
</pre>
我想获得“神秘”相对于的字符偏移量pre使用 Javascript(本机或 MooTools)标记。我可以得到它关于span使用anchorNode属性标记,但我找不到一种方法来获取它pre tag.
你可以使用DOM Range去做这个:
function getCharOffsetRelativeTo(container, node, offset) {
var range = document.createRange();
range.selectNodeContents(container);
range.setEnd(node, offset);
return range.toString().length;
}
Example:
var sel = window.getSelection();
var pre = document.getElementById("your_pre_id");
var offset = getCharOffsetRelativeTo(pre, sel.anchorNode, sel.anchorOffset);
Caveats:
- 这适用于除 IE
- 这个函数会计算里面的字符数
<script>
or <style>
标签和不可见元素(被CSS隐藏display: none
, 例如)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)