JavaScript实现文字超出指定长度后隐藏并显示省略号
作者:小括号时间:2026-10-22 03:35:22浏览:226
本文介绍如何使用JavaScript动态截取指定长度的文本,并在末尾添加省略号以优化长文本显示。通过获取元素内容、判断长度并重新拼接DOM节点,实现简洁的文字隐藏效果,适用于列表项或卡片布局中的内容展示。
JavaScript实现文字截断与省略号显示
本文通过一个具体示例,展示如何利用JavaScript实现文字内容的动态截断与省略号显示功能。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>JS</title>
</head>
<body>
<div id="content">有一种心态叫放下;有一种境界叫舍得;有一种幸福叫守候;有一种智慧叫低调;有一种选择叫放弃;有一种明白叫糊涂;有一种心态叫包容;有一种快乐叫简单;有一种美德叫微笑;有一种幸福叫珍惜;有一种美丽叫自信;有一种感动叫分享;有一种真情叫关爱;有一种温暖叫感恩;有一种成功叫坚持。
</div>
<script language="javascript">
(function(){
var len = 50; // 默认显示的字数
var content = document.getElementById("content"); // content 获取内容 div 对象
var text = content.innerHTML; // text 为内容
var span = document.createElement("span"); // 创建一个 SPAN 标签
var n = document.createElement("a"); // 创建一个 A 标签
span.innerHTML = text.substring(0,len); // SPAN 标签的内容为 text 的前 len 个字符
n.innerHTML = text.length > len ? "..展开" : ""; // 创建的 A 标签内容,如果内容字数大于 len,那么为“..展开”,否则为空
n.href = "javascript:void(0)"; // 设置 A 标签的链接地址(随意)
n.onclick = function(){ // 点击 A 链接执行下面函数
// 如果 A 标签的内容为“..展开”,那么 A 标签内容变成“收起”,SPAN 标签的内容为 DIV 全部内容,否则内容为前 len 个字符
if (n.innerHTML == "..展开"){
n.innerHTML = "收起";
span.innerHTML = text;
}else{
n.innerHTML = "..展开";
span.innerHTML = text.substring(0,len);
}
}
content.innerHTML = ""; // 设置 DIV 内容为空
content.appendChild(span); // 把 SPAN 元素加到 DIV 中
content.appendChild(n); // 把 A 元素加到 DIV 中
})();
</script>
</body>
</html>
实现效果如下图所示:


如需了解更多JavaScript相关技巧,可参考本站专题:《JavaScript字符与字符串操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》。
希望上述内容对您的JavaScript开发工作有所助益。
作者最新文章
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
