我正在尝试制作一个给定最大字符数的省略号文本的函数。
我得到了一个包含所有类文本的数组,已经按照我想要的方式进行了格式化。问题是我需要使用数组中的文本更改每个类的text()。
这是我的代码:
var array = $('.elipse').map(function(){
return $(this).text();
}).get();
var i;
var teste = [];
for (i=0;i<array.length;i++){
if (array[i].length > 30){
teste.push(array[i].substr(0,10));
} else {
teste.push(array[i]);
}
}
for (var i=0;i<teste.length;i++){
$('.elipse').each(function(){
$(this).text(teste[i]);
});
}
问题出在最后一个for循环中。包含elipse类的每个元素的每个文本都必须更改为teste数组中的文本。我试图以许多不同的方式循环播放,但我错过了一些东西
最佳答案
仅循环元素,否则您将被覆盖:
$('.elipse').each(function(i){
$(this).text(teste[i]);
});