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实现的超出屏幕时把固定层变为定位层的代码
Feb 23 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
Feb 23 Javascript
把字符串按照特定的字母顺序进行排序的js代码
Jan 28 Javascript
jQuery中:radio选择器用法实例
Jan 03 Javascript
动态设置form表单的action属性的值的简单方法
May 25 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
Jul 28 Javascript
jQuery如何封装输入框插件
Aug 19 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
Mar 07 Javascript
jQuery实现简单聊天室
Feb 08 jQuery
vue实现信息管理系统
May 30 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
Aug 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
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
实例讲解PHP表单
2020/06/10 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
javascript去掉代码里面的注释
2015/07/24 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
微信小程序实现按字母排列选择城市功能
2019/11/25 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
Python操作sqlite3快速、安全插入数据(防注入)的实例
2014/04/26 Python
更改Ubuntu默认python版本的两种方法python-&gt; Anaconda
2016/12/18 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
医学生个人求职信范文
2013/09/24 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
2014年财政局工作总结
2014/12/09 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
地道战观后感500字
2015/06/04 职场文书
军训后的感想
2015/08/07 职场文书
2016年教师新年寄语
2015/08/18 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python