jquery - 计算 div 中的文本行数
问题描述
我的 div 中有标题和描述,并且我要求如果标题长度超过一行,那么我必须使用 JQuery 隐藏描述。
<div class="text">
<div>
<div class="text_title">Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum </div>
<div class="text_description">Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem IpsumLorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum</div>
</div>
</div>
我从下面的链接尝试了不同的方法,但没有什么对我有用。
我也尝试了字符数,但这不是一个好的解决方案,因为屏幕布局可能会改变。
解决方案
你可以这样做:
function countLines(obj) {
var el = $(obj)
var divHeight = el.outerHeight()
var lineHeight = parseInt(el.css("line-height").replace("px",""));
var lines = divHeight / lineHeight;
console.log("Lines: " + lines);
}
然后调用:countLines($('.text .text_description'))
如果有超过 1 行,则使用隐藏功能更新演示.text_title
演示
if (countLines($('.text .text_title')) > 1){
$('.text_description').hide()
}
function countLines(obj) {
var el = $(obj)
var divHeight = el.outerHeight()
var lineHeight = parseInt(el.css("line-height").replace("px",""));
var lines = divHeight / lineHeight;
return lines;
}
.text_title {
line-height: 20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="text">
<div>
<div class="text_title">Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum </div>
<div class="text_description">Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem IpsumLorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum</div>
</div>
</div>
推荐阅读
- java - 将 Class.forName("java.lang.String") / 'Class.forName("some_str_var")' 转换为 Class
: 为什么前者会产生未经检查的编译器警告? - python - 匹配多个特定位置
- javascript - 是否有任何解决方案可以在输入中获取跨度值?
- mysql - SQL过滤日期差异的行
- elasticsearch - Elasticsearch sink 只获取新消息,而不是使用 kafka-connect-elasticsearch + timestamp SMT 的前一个消息
- javascript - 如何使用环境变量构建不同的版本
- node.js - 向所有客户端发出的 SocketIO 不起作用
- c++ - VS Code 上的简单 GDB C++ 调试失败并出现 NullReferenceException
- node.js - 使用无服务器框架部署 NodeJS 函数时出现问题
- java - 如何从字符串中获取字段?