Javascript 如何将省略号添加到具有“最大高度”和“溢出:隐藏”的div的内容(包括换行符)?
我想在内容末尾添加一个省略号,如果它溢出了一个具有max height和overflow:hidden的div,则使用换行符 我已经尝试过了,但是我的方法的问题是,如果有两个换行符,那么输出中将只显示一个换行符。这是小提琴的链接Javascript 如何将省略号添加到具有“最大高度”和“溢出:隐藏”的div的内容(包括换行符)?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想在内容末尾添加一个省略号,如果它溢出了一个具有max height和overflow:hidden的div,则使用换行符 我已经尝试过了,但是我的方法的问题是,如果有两个换行符,那么输出中将只显示一个换行符。这是小提琴的链接 var ellipseText=“…”; $('.card content')。每个(函数(){ var content=$(this.html(), divheight=$(this).height(), lineheight=$(this.css('linehei
var ellipseText=“…”;
$('.card content')。每个(函数(){
var content=$(this.html(),
divheight=$(this).height(),
lineheight=$(this.css('lineheight').replace(“px”,“this”),
lines=Math.round(divheight/parseInt(lineheight)),
eachLines=content.split(/
/);
如果(行>=3){
var replaceTxt=“”;
$.each(每个链接、函数(索引、项){
如果(indexsplit()
删除它拆分的内容,并将中间的所有内容添加到一个数组中,那么它将删除原始的
。我看到您试图在项(即行内容)为空时将它们重新添加,但在它不为空时您不会将它们重新添加
请参阅更新的小提琴:
var ellipseText=“…”;
$('.card content')。每个(函数(){
var content=$(this.html(),
divheight=$(this).height(),
lineheight=$(this.css('line-height').replace(“px”,”),
lines=Math.round(divheight/parseInt(lineheight)),
eachLines=content.split(/
/);
如果(行>=3){
var replaceTxt=“”;
$.each(每个链接、函数(索引、项){
如果(索引FWIW),OP的代码在
自己的行上与挤在一行上时表现不同。不确定“当
自己的行上”是什么意思,但我的修复现在应该具有所需的行为(仍显示多个
并且省略号添加到最后一行的同一行上)(第3行))。运行上面的代码段,您会发现它工作得很好:-)无论
如何放置在标记中,您的代码都可以工作。在您使用代码更新答案之前,我已经发表了评论。使用OP的原始代码,如果
像您在示例中那样放置在不同的行上,您将得到不同的结果,而您的代码不会出现这种情况。我将请稍后删除我的评论。@LaurensSwart谢谢你的回答。@hungerstar是的,你提出的问题有点令人担忧。接得好。谢谢。