显示文本中的x个字符,单击href时显示其余的字符串

时间:2015-12-16 12:12:03

标签: javascript jquery html5

我可以在文本中显示x个字符,当我点击href时,我会显示文本的其余部分,但在我的文本中,我有一个或多个换行符<br>,但此换行符未显示。有没有办法解决这个问题 - 谢谢

HTML:

<div class="minimize">
                    sfjsdlhfljfksljlkglsdøfjklfdhklsfjsdgfdjklfjsklfjghfklsdfjsdlghf
                    sdfsdglkjfdghslkdfjsgjlskdøfjgslfkjgfsdklgjsfdgjsdg
                    sdgklsgjlsdøgjsklfdgjlsdjgfdjkgsdlgjdgjklsdjlgksjflkgjfdlkgjsldg
                    sdgklfdjgkfdhgklsdjgfdjhklf
                    <br>
                    sadsaøglsfdkjgsdøfsdjgdføgksøgfdgsd
                    gfdgklfdjklgfdjgfdøklgjhdlkjøhfdklfdøkjhdklhjfdøhjdfklhfd
                    fdhdkhlfdgjlhfdjfdklhkfdhfløgfdghordlhgrdlhdlregdjkldgj
                    fdgfdjlgkjfdghfdjhgirdlkfghrodøhgjghfdjkklghrsdgdl
            </div>   

jQuery的:

var minimized_elements = $('.minimize');

    minimized_elements.each(function(){    
        var t = $(this).text();        
        if(t.length < 100) return;

        $(this).html(
            t.slice(0,100)+'<span>... </span><a href="#" class="more">More</a>'+
            '<span style="display:none;">'+ t.slice(100,t.length)+' <a href="#" class="less">Less</a></span>'
        );

    }); 

    $('a.more', minimized_elements).click(function(event){
        event.preventDefault();
        $(this).hide().prev().hide();
        $(this).next().show();        
    });

    $('a.less', minimized_elements).click(function(event){
        event.preventDefault();
        $(this).parent().hide().prev().show().prev().show();    
    });

1 个答案:

答案 0 :(得分:3)

你可以使用jquery扩展器这个插件隐藏(折叠)元素内容的一部分并添加“阅读更多”链接,以便用户可以查看文本https://kswedberg.github.io/jquery-expander/