我在this fiddle中也有以下代码。
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 div中的每个单词添加了一个span。 我想计算每个div中的Charecters,如果它是一个很长的名字,我可以将名字缩减为J Smith,例如。
但是如果你看一下控制台日志,我试图在三个不同的地方计算长度,它总是回到0? 我做错了什么?
答案 0 :(得分:3)
zerkms是对的。你想改变这个:
test = $(this).val().length,
到此:
test = $(this).text().length,