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入门应用二
Nov 19 Javascript
浅谈JavaScript编程语言的编码规范
Oct 21 Javascript
jQuery基本过滤选择器使用介绍
Apr 18 Javascript
使表格的标题列可左右拉伸jquery插件封装
Nov 24 Javascript
简单理解vue中实例属性vm.$els
Dec 01 Javascript
利用D3.js实现最简单的柱状图示例代码
Dec 09 Javascript
React实现点击删除列表中对应项
Jan 10 Javascript
微信小程序 页面跳转如何实现传值
Apr 05 Javascript
Vue.js仿微信聊天窗口展示组件功能
Aug 11 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
Sep 18 Javascript
利用javascript如何随机生成一定位数的密码
Sep 22 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
Apr 10 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
帅气的琦玉老师
2020/03/02 日漫
JAVA/JSP学习系列之二
2006/10/09 PHP
php empty函数判断mysql表单是否为空
2010/04/12 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
2014/08/23 PHP
PHP使用xmllint命令处理xml与html的方法
2014/12/15 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
Javascript 刷新全集常用代码
2009/11/22 Javascript
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
Python pandas如何向excel添加数据
2020/05/22 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
Python学习之time模块的基本使用
2021/01/17 Python
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
大学军训感言800字
2014/02/27 职场文书
程序员求职信
2014/04/16 职场文书
家长学校工作方案
2014/05/07 职场文书
初三数学教学反思
2016/02/17 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript