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中获取checkbox选中项等操作及注意事项
Nov 24 Javascript
js 时间格式与时间戳的相互转换示例代码
Dec 25 Javascript
字段太多jquey快速清空表单内容方法
Aug 21 Javascript
基于jquery实现简单的手风琴特效
Nov 24 Javascript
浅谈js中调用函数时加不加括号的问题
Jul 28 Javascript
js实现适配不同的屏幕大小
Apr 10 Javascript
jQuery序列化后的表单值转换成Json
Jun 16 jQuery
移动端触摸滑动插件swiper使用方法详解
Aug 11 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
May 14 Javascript
搭建一个Koa后端项目脚手架的方法步骤
May 30 Javascript
layui 监听select选择 获取当前select的ID名称方法
Sep 24 Javascript
JS co 函数库的含义和用法实例总结
Apr 08 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 图片上传实现代码 带详细注释
2010/04/29 PHP
PHP服务器页面间跳转实现方法
2012/08/02 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
PHP标准类(stdclass)用法示例
2016/09/28 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
php DES加密算法实例分析
2019/09/18 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
2015/09/06 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
Python内置异常类型全面汇总
2020/05/28 Python
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
追悼会上的答谢词
2014/01/10 职场文书
社区包粽子活动方案
2014/01/21 职场文书
销售业务员岗位职责
2014/01/29 职场文书
五年级科学教学反思
2014/02/05 职场文书
中学教师教育感言
2014/02/21 职场文书
大学生个人自荐信样本
2014/03/02 职场文书
娱乐节目策划方案
2014/06/10 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
实现GO语言对数组切片去重
2022/04/20 Golang