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 相关文章推荐
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
Feb 14 Javascript
javascript 鼠标滚轮事件
Apr 09 Javascript
JS中获取数据库中的值的方法
Jul 14 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
Feb 20 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
JS获取当前日期时间并定时刷新示例
Mar 04 Javascript
javascript中eval函数用法分析
Apr 25 Javascript
JavaScript仿静态分页实现方法
Aug 04 Javascript
js格式化时间的方法
Dec 18 Javascript
node.js插件nodeclipse安装图文教程
Oct 19 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
Vue.js中用v-bind绑定class的注意事项
Dec 13 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
用PHP生成自己的LOG文件
2006/10/09 PHP
PHP的几个常用数字判断函数代码
2012/04/24 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
javascript面向对象编程代码
2011/12/19 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
2014/09/25 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
python 控制语句
2011/11/03 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
Python中 map()函数的用法详解
2018/07/10 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
abstract是什么意思
2012/02/12 面试题
大学生自我鉴定
2013/12/08 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
故宫英文导游词
2015/01/31 职场文书
采购内勤岗位职责
2015/04/13 职场文书
身份证丢失证明
2015/06/19 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android