当一个标签中的字超过9个字符就以省略号显示,详情看截图

要求左边的span标签中的字超过9个字符就以点省略号显示,右边的span和左边span是一样的
图片描述

阅读 3k
2 个回答

$('span').text().length>9?$('span').text($('span').text().slice(0,9)+'...'):$('span').text($('span').text())

给你来了个JS 版 num*10是后面的三个点需要占一个位置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        span {
            display: inline-block;
            /*font-size: 24px;*/
        }
        .hidden {
            white-space: nowrap;
            /*width: calc(24px*9);*/
            text-overflow: ellipsis;
            overflow: hidden;
        }
    </style>
</head>
<body>
    <h3>
        <span class="a">哈哈哈哈哈哈哈哈哈哈哈哈</span>-<span class="b">哈呵呵呵呵呵呵还好还好还好</-span>
    </h3>
</body>
<script type="text/javascript">

    window.onload = function(){
        function hideWords(tagClass) {
            var spanTag = document.querySelector(tagClass),
                 fz = document.defaultView.getComputedStyle(spanTag).fontSize,
                 num = parseFloat(fz);

            var widths = num*10;

            spanTag.style.width = widths + 'px';

            if(spanTag.innerHTML.length > 9) {
                spanTag.setAttribute('class','hidden');
            }
        }
        hideWords('.a');
        hideWords('.b');
    }
</script>
</html>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题