如何在应用文本溢出属性时获取结果文本

Gow*_*kan 5 javascript css jquery

我有一个带有css属性的div text-overflow : ellipsis来添加省略号并在一行中显示文本.

当我执行jquery .text()或者.html(),我得到完整的字符串,但我需要在div中显示的确切文本(不是完整的字符串).

有人可以指导我如何使用jquery或JS获取确切的显示字符串吗?

实际字符串= "abcdefghijklmnop" 由于CSS,显示div"abcd..."

我的预期结果(使用jQuery或JS) "abcd..."

Opt*_*ime 0

如果不尝试模仿 CSS 并使用 JS 重新创建带有省略号的字符串,这是不可能的。

原因是 CSS 只操纵向用户显示的内容,而不操纵 HTML 源本身。您可以通过检查文档的源代码来验证这一点。这意味着当您使用.text().html()获取来自 DOM 的值时,而不是通过 CSS 过滤器显示的值。

有一些 hack 做得相当不错,但仍然不能保证 JS 正确模仿 CSS 渲染文本的方式。