Как перебрать классы и добавить текст в массив

0

Я пытаюсь сделать функцию, которая является многоточием текста, учитывая несколько максимальных букв.

Я получил массив со всем текстом классов, уже сформированный так, как я хочу. Проблема в том, что мне нужно изменить 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]);

    });

  } 

Проблема в последнем цикле. Каждый текст каждого элемента, который содержит класс elipse, должен быть заменен на текст в массиве teste. Я попытался зациклировать его по-разному, но им что-то не хватает

  • 0
    каждый текст elipse всегда будет последним элементом в массиве teste, потому что каждый раз, когда в цикл входит, он начинает с каждой функции снова начинать с начала
Теги:
class
arrays

1 ответ

2
Лучший ответ

Просто зациклируйте элементы, иначе вы переписываете:

$('.elipse').each(function(i){

  $(this).text(teste[i]);

});
  • 0
    СПАСИБО, не знал, как правильно использовать каждую функцию .. просто отсутствует параметр :))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню