jQuery截取指定长度字符串的实现原理及代码


Posted in Javascript onJuly 01, 2014

截取指定长度字符串操作在网站建设中大量使用,尤其是在新闻列表这种类型的操作中大量应用。

下面就是一个截取字符串代码实例:

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<meta name="author" content="http://www.softwhy.com/" /> 
<title>jQuery截取字符串操作</title> 
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> 
<style> 
* 
{ 
margin:0; 
padding:0; 
font-family:"宋体", Arial, Helvetica, sans-serif; 
} 
#best 
{ 
width:300px; 
height:200px; 
border:1px solid #ccc; 
margin:60px auto 0; 
line-height:1.6; 
font-size:14px; 
padding:10px 0 0 10px 
} 
.blank 
{ 
font-size:18px; 
font-weight:bold; 
text-align:center; 
padding:20px 
} 
</style> 
<script type="text/javascript"> 
jQuery.fn.limit=function(){ 
var self = $("div[limit]"); 
self.each(function(){ 
var objString = $(this).text(); 
var objLength = $(this).text().length; 
var num = $(this).attr("limit"); 
if(objLength > num){ 
$(this).attr("title",objString); 
objString = $(this).text(objString.substring(0,num) + "..."); 
} 
}) 
} 
$(function(){ 
$(document.body).limit(); 
}) 
</script> 
</head> 
<body> 
<div id="best"> 
<div limit="12">计算字串的长度长度长度长度</div> 
<div limit="10">这边有优化很公开这边</div> 
<div limit="12">这边有优化很公开长度长度很公开长度</div> 
<div limit="12">计算字长度长度</div> 
<div limit="10">这边有优化很边有优化很边有优化很边有优化很边有优化很</div> 
</div> 
</body> 
</html>

以上代码实现了截取字符串的功能,下面简单介绍一下它如何实现此效果的:

一.实现原理:
获取div中文本的长度,然后和通过和属性limit规定的长度进行对比,如果超出长度则使用截取指定的长度,后面用...替代。

二.代码注释:
1.jQuery.fn.limit=function(){},用以为jQuery扩展一个实例函数,jQuery对象可以调用此函数。
2.var self = $("div[limit]"),用以获去具有limit属性的div对象集合。
3.self.each(function(){ },可以让获取的让div对象集合中的每一个对象遍历执行一次指定的函数。
4.var objString = $(this).text(),获取div元素中的文本内容,这里的this是指当each()函数进行遍历时当前div。
5.var objLength = $(this).text().length,获取当前div中文本内容的长度。
6.var num = $(this).attr("limit"),获取div中limit属性值,在这里用作了指定的字符长度。
7.if(objLength > num){},div中文本内容长度大于指定长度这执行指定的代码。
8.$(this).attr("title",objString),将div的title属性值设置为div中的内容。
9.objString = $(this).text(objString.substring(0,num) + "..."),截取指定长度字符串,超出的用省略号代替。

Javascript 相关文章推荐
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
Aug 05 Javascript
javascript操作referer详细解析
Mar 10 Javascript
JavaScript操作URL的相关内容集锦
Oct 29 Javascript
jquery插件jquery.confirm弹出确认消息
Dec 22 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
May 16 Javascript
Web前端框架Angular4.0.0 正式版发布
Mar 28 Javascript
jquery 禁止鼠标右键并监听右键事件
Apr 27 jQuery
layui实现左侧菜单点击右侧内容区显示
Jul 26 Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 Javascript
微信小程序实现列表的横向滑动方式
Jul 15 Javascript
js实现全选和全不选
Jul 28 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
Nov 11 Javascript
原生js事件的添加和删除的封装
Jul 01 #Javascript
jQuery的:parent选择器定义和用法
Jul 01 #Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
Jul 01 #Javascript
JavaScript利用正则表达式去除日期中的“-”
Jul 01 #Javascript
jquery实现图片按比例缩放示例
Jul 01 #Javascript
js 实现的可折叠留言板(附源码下载)
Jul 01 #Javascript
JavaScript利用append添加元素报错的解决方法
Jul 01 #Javascript
You might like
php简单的会话类代码
2011/08/08 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
2018/10/15 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
快速了解Python相对导入
2018/01/12 Python
Python对象与引用的介绍
2019/01/24 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
Win10 安装PyCharm2019.1.1(图文教程)
2019/09/29 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
python 等差数列末项计算方式
2020/05/03 Python
keras 多gpu并行运行案例
2020/06/10 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
Python脚本打包成可执行文件过程解析
2020/10/20 Python
html5 利用canvas实现超级玛丽简单动画
2013/09/06 HTML / CSS
2014年纠风工作总结
2014/12/08 职场文书
销售会议开幕词
2016/03/04 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js