热门关键字:
jquery > jquery教程 > jquery教程 > jQuery 截取字符串以省略号替代

jQuery 截取字符串以省略号替代

526
作者:管理员
发布时间:2020/3/2 16:16:10
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=952
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <!DOCTYPEhtml>
    <html>
    <head>
    <metacharset="utf-8">
    <metaname="author"content="http://www.softwhy.com/"/>
    <title>蚂蚁部落</title>
    <scripttype="text/javascript"src="mytest/jQuery/jquery-1.8.3.js"></script>
    <scripttype="text/javascript">
    $.fn.extend({
    displayPart:function(){
    vardisplayLength=100;
    displayLength=this.attr("displayLength")||displayLength;
    vartext=this.text();
    if(!text)return"";
    varresult="";
    varcount=0;
    for(vari=0;i<displayLength;i++){
    var_char=text.charAt(i);
    if(count>=displayLength)break;
    if(/[^x00-xff]/.test(_char))count++;
    result+=_char;
    count++;
    }
    if(result.length<text.length){
    result+="...";
    }
    this.text(result);
    }
    });
    $(function(){
    $(".displayPart").displayPart();
    });
    </script>
    </head>
    <body>
    <divclass="displayPart"displayLength="20">蚂蚁部落欢迎您,只有努力奋斗才会有美好的未来。</div>
    </body>
    </html>
    以上代码实现了我们的要求,下面介绍一下它的实现过程。
    一.代码注释:
    (1).$.fn.extend({}),为jQuery对象实例添加对象。
    (2).displayPart:function(){},设置对象的属性,属性值是一个函数,实现截取字符串功能。
    (3).vardisplayLength=100,默认的截取长度为100。
    (4).displayLength=this.attr("displayLength")||displayLength,如果设置了截取长度则使用此值,否则使用默认值。
    (5).vartext=this.text(),获取元素中的文本内容。
    (6).if(!text)return"",如果文本内容为空则返回一个空字符。
    (7).varresult="",此变量用来存储截取结果。
    (8).varcount=0,此变量用来作为标识,存储当前字符串的长度。
    (9).for(vari=0;i<displayLength;i++),遍历字符串中的字符,displayLength是要截取的长度。
    (10).var_char=text.charAt(i),获取指定位置的字符。
    (11).if(count>=displayLength)break,count的值大于displayLength,就说明超出长度了,于是跳出循环。
    (12).if(/[^x00-xff]/.test(_char))count++,判断当前字符是否是双字节的,如果是先将count加1,因为后面还要加1,所以是将双字节按照占2个长度处理。
    (13).result+=_char,连接字符串。
    (14).count++,对count进行加1操作。
    (15).if(result.length<text.length){result+="...";},截取长度小于字符串实际长度,后面跟有省略号。
    (16).this.text(result),写入截取后的字符串。
    二.相关阅读:
    (1).attr()参阅jQueryattr()方法一章节。
    (2).text()参阅jQuerytext()方法一章节。
    (3).charAt()参阅JavaScriptcharAt()方法一章节。
    (4).break语句参阅JavaScriptbreak与continue语句一章节。
    (5).test()参阅正则表达式test()一章节。



如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jQuery
友荐云推荐