我正在尝试制作一个给定最大字符数的省略号文本的函数。

我得到了一个包含所有类文本的数组,已经按照我想要的方式进行了格式化。问题是我需要使用数组中的文本更改每个类的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]);

});

09-16 07:33