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 相关文章推荐
JQuery AJAX提交中文乱码的解决方案
Jul 02 Javascript
图片动画横条广告带上下滚动的JS代码
Oct 25 Javascript
javascript中HTMLDOM操作详解
Dec 11 Javascript
生成二维码方法汇总
Dec 26 Javascript
jquery单选框radio绑定click事件实现方法
Jan 14 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
Mar 21 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
Dec 23 Javascript
微信小程序实现移动端滑动分页效果(ajax)
Jun 13 Javascript
vue中使用gojs/jointjs的示例代码
Aug 24 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
Sep 28 Javascript
JavaScript中Dom操作实例详解
Jul 08 Javascript
Typescript的三种运行方式(小结)
Sep 18 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 download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
javascript从image转换为base64位编码的String
2014/07/29 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
2018/08/02 Javascript
js 函数性能比较方法
2020/08/24 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
python 读txt文件,按‘,’分割每行数据操作
2020/07/05 Python
Python try except finally资源回收的实现
2021/01/25 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
怎么处理XML的中文问题
2015/03/26 面试题
大课间体育活动方案
2014/03/12 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
工程部文员岗位职责
2015/02/04 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
Python如何加载模型并查看网络
2022/07/15 Python