javascript - 获取一段文本中最后一行的宽度

标签 javascript jquery css

是否有可能以某种方式测量具有多个中断/返回的段落中最后一行文本的长度?

          Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
          Donec id elit non mi porta gravida at eget metus. Nulla vitae
          elit libero, a pharetra augue. Nullam id dolor id nibh
          ultricies vehicula ut id elit. Vivamus sagittis lacus vel
[here] ->|augue laoreet rutrum faucibus dolor auctor.|<- [to here]

注意:文本中没有手动中断。它是包裹在里面的单行文本,比方说,<p></p>标签。

最佳答案

在字符串的末尾附加一个零宽度元素并测量其左偏移就足够了。

HTML

<p id="text">…text…</p>

JS

// NOTE: This assumes LTR text!
// Using JQuery for simpler code

var $el = $("#text");
var originalText = $el.html();

$el.html(originalText + "<span id='cursor'></span>");
alert($("#cursor").offset().left + "px");
$el.html(originalText);

JSFiddle:http://jsfiddle.net/Ca4fF/1/

关于javascript - 获取一段文本中最后一行的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22261455/

相关文章:

javascript - 当页面向下滚动时,我怎样才能使这个背景变得不那么透明?

javascript - 当父项太小时防止 div 换行

javascript - IE 中的图像 slider 问题 - Bug?

javascript - 如何在按下按钮时触发警报功能?

javascript - 如何将数字插入数组?

javascript - 如何实现 AJAX 内容的 $(document).ready 类型行为?

jquery - 从 html 中的父 css 类转义

html - 输入框和按钮与 IE 和 Firefox 不匹配

javascript - 如何在新行中添加输入类型 "file"?

javascript - 该 block 在首次加载时显示在上 block 的顶部,并在页面刷新时固定