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 相关文章推荐
&amp;lt;script defer&amp;gt; defer 是什么意思
May 10 Javascript
让人期待的2011年度最佳 jQuery 插件分享
Mar 16 Javascript
javascript仿qq界面的折叠菜单实现代码
Dec 12 Javascript
对frameset、frame、iframe的js操作示例代码
Aug 16 Javascript
为开发者准备的10款最好的jQuery日历插件
Feb 04 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
Jul 02 Javascript
js实现网页标题栏闪烁提示效果实例分析
Nov 20 Javascript
JavaScript数组对象赋值用法实例
Aug 04 Javascript
javascript中new关键字详解
Dec 14 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
Oct 28 Javascript
原生js实现trigger方法示例代码
May 22 Javascript
jQuery内容选择器与表单选择器实例分析
Jun 28 jQuery
原生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导航下拉菜单的实现如此简单
2013/09/22 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
Javascript Throttle &amp; Debounce应用介绍
2013/03/19 Javascript
jquery.validate的使用说明介绍
2013/11/12 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
JavaScript 数组中最大最小值
2016/06/05 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
Python读写Excel文件方法介绍
2014/11/22 Python
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
python实现基本进制转换的方法
2015/07/11 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
2021/01/27 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
学前教育教师求职自荐信
2013/09/22 职场文书
思想政治教育专业个人求职信范文
2013/12/20 职场文书
中餐厅主管的职责范文
2014/02/04 职场文书
xxx同志考察材料
2014/02/07 职场文书
劳动纠纷调解协议书格式
2014/11/30 职场文书
微信早安问候语
2015/11/10 职场文书