jQuery截取指定長(zhǎng)度字符串的實(shí)現(xiàn)原理及代碼
截取指定長(zhǎng)度字符串操作在網(wǎng)站建設(shè)中大量使用,尤其是在新聞列表這種類型的操作中大量應(yīng)用。
下面就是一個(gè)截取字符串代碼實(shí)例:
<!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">計(jì)算字串的長(zhǎng)度長(zhǎng)度長(zhǎng)度長(zhǎng)度</div>
<div limit="10">這邊有優(yōu)化很公開這邊</div>
<div limit="12">這邊有優(yōu)化很公開長(zhǎng)度長(zhǎng)度很公開長(zhǎng)度</div>
<div limit="12">計(jì)算字長(zhǎng)度長(zhǎng)度</div>
<div limit="10">這邊有優(yōu)化很邊有優(yōu)化很邊有優(yōu)化很邊有優(yōu)化很邊有優(yōu)化很</div>
</div>
</body>
</html>
以上代碼實(shí)現(xiàn)了截取字符串的功能,下面簡(jiǎn)單介紹一下它如何實(shí)現(xiàn)此效果的:
一.實(shí)現(xiàn)原理:
獲取div中文本的長(zhǎng)度,然后和通過(guò)和屬性limit規(guī)定的長(zhǎng)度進(jìn)行對(duì)比,如果超出長(zhǎng)度則使用截取指定的長(zhǎng)度,后面用...替代。
二.代碼注釋:
1.jQuery.fn.limit=function(){},用以為jQuery擴(kuò)展一個(gè)實(shí)例函數(shù),jQuery對(duì)象可以調(diào)用此函數(shù)。
2.var self = $("div[limit]"),用以獲去具有l(wèi)imit屬性的div對(duì)象集合。
3.self.each(function(){ },可以讓獲取的讓div對(duì)象集合中的每一個(gè)對(duì)象遍歷執(zhí)行一次指定的函數(shù)。
4.var objString = $(this).text(),獲取div元素中的文本內(nèi)容,這里的this是指當(dāng)each()函數(shù)進(jìn)行遍歷時(shí)當(dāng)前div。
5.var objLength = $(this).text().length,獲取當(dāng)前div中文本內(nèi)容的長(zhǎng)度。
6.var num = $(this).attr("limit"),獲取div中l(wèi)imit屬性值,在這里用作了指定的字符長(zhǎng)度。
7.if(objLength > num){},div中文本內(nèi)容長(zhǎng)度大于指定長(zhǎng)度這執(zhí)行指定的代碼。
8.$(this).attr("title",objString),將div的title屬性值設(shè)置為div中的內(nèi)容。
9.objString = $(this).text(objString.substring(0,num) + "..."),截取指定長(zhǎng)度字符串,超出的用省略號(hào)代替。
- jQuery基礎(chǔ)學(xué)習(xí)技巧總結(jié)
- Jquery選擇器 $實(shí)現(xiàn)原理
- JQuery 學(xué)習(xí)技巧總結(jié)
- jquery lazyload延遲加載技術(shù)的實(shí)現(xiàn)原理分析
- 表頭固定(利用jquery實(shí)現(xiàn)原理介紹)
- Jquery 選中表格一列并對(duì)表格排序?qū)崿F(xiàn)原理
- Jquery寫一個(gè)鼠標(biāo)拖動(dòng)效果實(shí)現(xiàn)原理與代碼
- JQuery的Ajax跨域請(qǐng)求原理概述及實(shí)例
- jquery簡(jiǎn)單的拖動(dòng)效果實(shí)現(xiàn)原理及示例
- jQuery實(shí)現(xiàn)圖片放大預(yù)覽實(shí)現(xiàn)原理及代碼
- jQuery拖動(dòng)div、移動(dòng)div、彈出層實(shí)現(xiàn)原理及示例
- 使用jquery實(shí)現(xiàn)的一個(gè)圖片延遲加載插件(含圖片延遲加載原理)
- jquery實(shí)現(xiàn)html頁(yè)面 div 假分頁(yè)有原理有代碼
- jquery引用方法時(shí)傳遞參數(shù)原理分析
- jQuery內(nèi)部原理和實(shí)現(xiàn)方式淺析
- jquery原理以及學(xué)習(xí)技巧介紹
相關(guān)文章
利用JQuery動(dòng)畫制作滑動(dòng)菜單項(xiàng)效果實(shí)現(xiàn)步驟及代碼
滑動(dòng)菜單項(xiàng)效果,聽起來(lái)就是很時(shí)尚的一個(gè)效果,不過(guò)實(shí)現(xiàn)起來(lái)有些麻煩,還好有本文的出現(xiàn),可以幫助你解決這個(gè)困惑,熱愛特效的你可不要錯(cuò)過(guò)了哈,好了話不多說(shuō)切入正文2013-02-02
jquery中的sortable排序之后的保存狀態(tài)的解決方法
其實(shí)在前年的這個(gè)時(shí)候,我就有用過(guò)這個(gè)sortable組件,那時(shí)候搞了個(gè)個(gè)人網(wǎng)站(可惜后來(lái)關(guān)了),首頁(yè)就用到了這種拖拽的效果。2010-01-01
jQuery Animation實(shí)現(xiàn)CSS3動(dòng)畫示例介紹
jQuery Animation的工作原理是通過(guò)將元素的CSS樣式從一個(gè)狀態(tài)改變?yōu)榱硪粋€(gè)狀態(tài),下面以一個(gè)實(shí)例為大家詳細(xì)介紹下具體的實(shí)現(xiàn),感興趣的朋友可以參考下2013-08-08
使用jQuery Ajax 請(qǐng)求webservice來(lái)實(shí)現(xiàn)更簡(jiǎn)練的Ajax
以往我們?cè)谧鯽jax時(shí),都要借助于一般處理程序(.ashx)或web服務(wù)(.asmx),并且每一個(gè)請(qǐng)求都要建一個(gè)這樣的文件,非常麻煩,下面我們甩掉ashx和asmx來(lái)使用jQuery Ajax 請(qǐng)求webservice來(lái)實(shí)現(xiàn)更簡(jiǎn)練的Ajax,需要的朋友參考下2016-08-08
jQuery實(shí)現(xiàn)基本動(dòng)畫效果的方法詳解
這篇文章主要介紹了jQuery實(shí)現(xiàn)基本動(dòng)畫效果的方法,結(jié)合實(shí)例形式分析了jQuery animate()方法實(shí)現(xiàn)動(dòng)畫效果相關(guān)操作技巧,需要的朋友可以參考下2018-09-09
jQuery實(shí)現(xiàn)的點(diǎn)擊按鈕改變樣式功能示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的點(diǎn)擊按鈕改變樣式功能,涉及jQuery基于事件響應(yīng)的頁(yè)面元素樣式動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-07-07
jQuery中[attribute=value]選擇器用法實(shí)例
這篇文章主要介紹了jQuery中[attribute=value]選擇器用法,實(shí)例分析了[attribute=value]選擇器的功能、定義及給定屬性及屬性值元素的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
擴(kuò)展jQuery對(duì)象時(shí)如何擴(kuò)展成員變量具體怎么實(shí)現(xiàn)
這篇文章主要介紹了擴(kuò)展jQuery對(duì)象時(shí)如何擴(kuò)展成員變量,需要的朋友可以參考下2014-04-04
jquery實(shí)現(xiàn)tab鍵進(jìn)行選擇后enter鍵觸發(fā)click行為
本文主要介紹了jquery鍵盤事件實(shí)現(xiàn)tab鍵進(jìn)行選擇后enter鍵觸發(fā)click行為的方法,這種使用場(chǎng)景為當(dāng)首頁(yè)有幾個(gè)鏈接需要選擇的時(shí)候,使用鍵盤就可以進(jìn)行觸發(fā)行為。下面跟著小編一起來(lái)看下吧2017-03-03

