javascript - 如何使用 javascript 获取 HTML 文本节点的位置和大小?

标签 javascript html dom

例如,

<div style="width:100px;text-align:center">text</div>

我想获取 text 文本节点的位置和大小,而不是它的 div 包装器。可能吗?

最佳答案

在现代浏览器(最新的 Mozilla、WebKit 和 Opera)中,您可以使用 getClientRects() method of a DOM range包含文本节点。

var textNode = document.getElementById("wombat").firstChild;
var range = document.createRange();
range.selectNodeContents(textNode);
var rects = range.getClientRects();
if (rects.length > 0) {
    console.log("Text node rect: ", rects[0]);
}
<div id="wombat">Wombat</div>

关于javascript - 如何使用 javascript 获取 HTML 文本节点的位置和大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16209153/

相关文章:

javascript - 为什么我们对脚本使用 &lt;script&gt; 而对外部 CSS 不使用 &lt;style&gt; ?

html - 如何在我的框 "central"中居中文本?

javascript - Angular ui bootstrap 工具提示隐藏

javascript - react-router 如何通过 <Links> 和 <Route> 将 props 传递给其他组件?

javascript - HTML/CSS(非图像)对比前后

php - 使用 PHP 在每个月的 HTML 表中显示日期

javascript - 使用 jquery 获取指向的元素

javascript - 从外部更改 Phaser 状态

javascript - 如何在 ReactJS 的 onScroll 事件中操作 DOM?

javascript - 在脚本之前加载页面元素