Javascript 计算每个类的长度

Javascript 计算每个类的长度,javascript,jquery,Javascript,Jquery,我也有下面的代码 HTML <span class="myName">John Smith</span> <span class="myName">John Smith</span> <span class="myName">John Smith</span> <span class="myName">John Smith</span> <span cla

我也有下面的代码

HTML

    <span class="myName">John Smith</span>
    <span class="myName">John Smith</span>
    <span class="myName">John Smith</span>
    <span class="myName">John Smith</span>
    <span class="myName">John Smith</span>
    <span class="myName">John Smith</span>
约翰·史密斯 约翰·史密斯 约翰·史密斯 约翰·史密斯 约翰·史密斯 约翰·史密斯 JavaScript

    $('.myName').each(function(){
        var text = $(this).html().split(' '),
            len = text.length,
            test = $(this).val().length,
            result = []; 
        console.log('outside: ' + test);
        for( var i = 0; i < len; i++ ) {
            result[i] = '<span class="name-'+[i]+'" >' + text[i] + '</span>';
            console.log('inside: ' + test);
        }
        $(this).html(result.join(' '));
        console.log('after: ' + test);
    }); 
$('.myName')。每个(函数(){
var text=$(this.html().split(“”),
len=text.length,
test=$(this).val().length,
结果=[];
console.log('外部:'+测试);
对于(变量i=0;i
它为myName div中的每个单词添加一个span。 我想计算每个div中的字符数,这样,如果它是一个长名称,我就可以将第一个名称缩减为J Smith


但是如果你看一下控制台日志,我试着在三个不同的地方计算长度,结果总是为0?
我做错了什么?虫族是对的。您要更改此设置:

test = $(this).val().length,
为此:

test = $(this).text().length,

.val()
函数仅适用于输入(如果您阅读手册,您会知道)“我尝试在三个不同的位置计算长度”——您计算了一次,然后输出了三次相同的结果。