Страницы

Поиск по вопросам

вторник, 28 января 2020 г.

Обрезать строку JS

#javascript #jquery


Здравствуйте. Есть Список. Если в пункте списка больше определенного количества символов
– то эти символы должны обрезаться и вставляться три точки в конце. Сейчас, если хоть
в одном пункте, символов больше чем нужно то строка обрезается во всех пунктах и копируется
во все пункты. А так, не должно быть. Подскажите как сделать чтоб строка обрезалась
только в том пункте, где количество символов превышает допустимое Свойство СSS  text-overflow:ellipsis
не подходит так как не работает если строки две.



function cutStr() {
  var size = 15,
    cutStr = $('li a'),
    strText = cutStr.text();


  if (strText.length > size) {
    cutStr.text(strText.slice(0, size) + ' ...');
  }
}

cutStr();





    


Ответы

Ответ 1



function cutStr() { var size = 15, cutStr = $('li a'); cutStr.each(function() { // перебираем все элементы var strText = $(this).text(); if (strText.length > size) { $(this).text(strText.slice(0, size) + ' ...'); // подставляем полученный текст только в текущий элемент } }); } cutStr();

Ответ 2



На чистом js. В jq увы не шарю совсем. var elems = document.querySelectorAll("li > a"); var maxLength = 15; for(var i = 0; i < elems.length; i++){ var str = elems[i].innerHTML; if(str.length > maxLength){ elems[i].innerHTML = str.substr(0,maxLength) + "..."; } }

Комментариев нет:

Отправить комментарий