Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 查找显示在隐藏溢出的div元素中的文本长度 div元素中有一些文本,如下所示_Jquery_Css - Fatal编程技术网

Jquery 查找显示在隐藏溢出的div元素中的文本长度 div元素中有一些文本,如下所示

Jquery 查找显示在隐藏溢出的div元素中的文本长度 div元素中有一些文本,如下所示,jquery,css,Jquery,Css,div{宽度:100px;溢出:隐藏;高度:20px;} 现在,我只想得到可见文本的长度,而不是div元素的整个文本 我怎样才能做到这一点 谢谢为什么不将文本框限制为输入的字符数。您可以访问一个演示,在那里您可以检查输入的字符数并设置限制 你可以实现同样的功能并将其用于你的目的。我发现这个问题很有趣,所以我设计了一种方法来有效地测量可见文本的字符长度 您可以在那里进行测试: 其思想是迭代填充文本,直到达到100px的宽度 CSS: HTML: #txt{ max-width:100px; ove

div{宽度:100px;溢出:隐藏;高度:20px;}

现在,我只想得到可见文本的长度,而不是div元素的整个文本

我怎样才能做到这一点


谢谢

为什么不将文本框限制为输入的字符数。您可以访问一个演示,在那里您可以检查输入的字符数并设置限制
你可以实现同样的功能并将其用于你的目的。

我发现这个问题很有趣,所以我设计了一种方法来有效地测量可见文本的字符长度

您可以在那里进行测试:

其思想是迭代填充文本,直到达到100px的宽度

CSS:

HTML:

#txt{ max-width:100px; overflow:hidden;height:20px;}​
我的长文本很长。我的长文本,我的长文本。我的长文本。。。我的长文本。我的长文字,那么长。。。

Nb字符:​
JS:

var text=$('#txt').text();
var-nbchars=0;
$('#txt').html('');
var increment=函数(){
$('#txt').html(text.substring(0,nbchars));

如果(尽管与您的要求不完全相同,但我认为此StackOverflow q&a正好满足您的要求:
#txt{ max-width:100px; overflow:hidden;height:20px;}​
<span id=txt>My long text is long. My long text.My long text. My long text... My long text. My long text, so long...</span>
<br>Nb chars : <span id=mes></span>​
var text = $('#txt').text();
var nbchars = 0;
$('#txt').html('');
var increment = function() {
    $('#txt').html(text.substring(0, nbchars));
    if (nbchars<text.length-1 && $('#txt').width()<100) {
        nbchars++;
        window.setTimeout(increment, 1);
    } else {
        $('#mes').html(nbchars);
    }
};
window.setTimeout(increment, 1);