#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();
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione, consequatur. Fuga quasi amet labore, a fugit fugiat quaerat facilis vero dolor nam nisi tempora ipsum, omnis tempore, libero suscipit animi.
- Norm lenght str
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Qui magnam, assumenda doloribus earum consectetur tenetur aspernatur aperiam sit voluptate. Assumenda corrupti quo, sint ipsam accusamus dolorum eveniet repudiandae nobis! At?
- Norm lenght str
- Norm lenght str
Ответы
Ответ 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();
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione, consequatur. Fuga quasi amet labore, a fugit fugiat quaerat facilis vero dolor nam nisi tempora ipsum, omnis tempore, libero suscipit animi.
- Norm lenght str
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Qui magnam, assumenda doloribus earum consectetur tenetur aspernatur aperiam sit voluptate. Assumenda corrupti quo, sint ipsam accusamus dolorum eveniet repudiandae nobis! At?
- Norm lenght str
- Norm lenght str
Ответ 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) + "..."; } }
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione, consequatur. Fuga quasi amet labore, a fugit fugiat quaerat facilis vero dolor nam nisi tempora ipsum, omnis tempore, libero suscipit animi.
- Norm lenght str
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Qui magnam, assumenda doloribus earum consectetur tenetur aspernatur aperiam sit voluptate. Assumenda corrupti quo, sint ipsam accusamus dolorum eveniet repudiandae nobis! At?
- Norm lenght str
- Norm lenght str
Комментариев нет:
Отправить комментарий