截断带有剩余空格的字符串
Truncate a string with the remaining space
我有一个列表,其中每个li元素在一个div"main"中包含两个div:
-
div "main" 有一个固定的宽度(说 200px),
-
div "part1" 具有可变宽度(包含的文本和图像的宽度)
=>我希望div "part2" 中的文本具有与div "main" 的宽度一样少div "part1"(剩余空间)
前任:
...
<li>
<div class="main">
<div class="part1">A</div>
<div class="part2">BlaBlaBla</div>
</div>
</li>
<li>
<div class="main">
<div class="part1">ABC</div>
<div class="part2">BlaBlaBla</div>
</div>
</li>
<li>
<div class="main">
<div class="part1">ABCDE</div>
<div class="part2">BlaBlaBla</div>
</div>
</li>
...
它应显示:
A BlaBla...
ABC BlaB...
ABCDE Bl...
我试过了,但它不起作用:
$(function(){
$(".part1").each(function(){
var $this = $(this);
var $len = 0;
var $len = $this.outerWidth();
var $lenParent =$this.parent().outerWidth();
var newText2 = $this.next('.part2').text().substring(0,$lenParent-$len);
$this.next('.part2').innerHtml(newText2+"...");
});
});
使用 Thinking Sites
的答案display: inline
和 epascarello
建议的椭圆样式,这个完整的解决方案现在可以工作:
.main{
width: 100px;
border: 1px solid red;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.part1, .part2{
display: inline;
}
查看演示
你不需要
JavaScript,它可以通过样式来完成。 将第 1 部分和第 2 部分的 css 更改为显示:内联
.part1,.part2
{
display:inline;
}
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 如何将字符串拆分为字符,但在javascript中保留空格
- 如何从字符串中删除除字母、数字、空格、感叹号和问号之外的所有内容
- 如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)
- JavaScript从字符串中删除尾随空格和句点
- 连接字符串时如何留出空格
- jQuery字符串使用split()方法在空格后拆分字符串
- JavaScript Regex,用于由特定字符串包围的数字和空格
- 为什么Javascript中的整数加空格加字符串会导致数字和字符串的总和?(2++'22'=24)
- Javascript在第一个空格上拆分字符串
- 截断带有剩余空格的字符串
- 字符串替换正则表达式,开头为空格
- JavaScript 从字符串中删除句号、逗号和空格
- 将字符串从第二个空格切成特殊字符
- 跳过字符串中的空格
- 如何在javascript中无空格地追加两个字符串
- 我的JS在将ascii转换为字符串时添加了一个空格
- 使用简单的角度滤波器来替换输入字符串中某些字符串的所有出现,而不考虑大小写和空格
- JS如何检查空字符串和空格
- 从数组中删除空字符串或空格字符串 - Javascript