Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сокращение текста (https://javascript.ru/forum/misc/25288-sokrashhenie-teksta.html)

Изучаю_JS 31.01.2012 22:22

Сокращение текста
 
Всем привет.
Есть ссылка с классом:
<a href='' class="hostip">%name%</a>

и вот где %name% нужно сократить, т.е. нужно чтобы если будет 15 символов то будет так:
Мой текст для т...
в смысле в конце будет трое точи (извиняюсь если не правильно выразился) думаю вы меня поняли...
Вот еще пример:
<a href="" class="hostip" >Пароль аккаунта сохранен для текущей сессии. </a>

А я хочу чтобы было так:
<a href="" class="hostip" >Пароль аккаунта...</a>

9xakep 31.01.2012 23:28

<script>
var str = 'тут много текста.....'
if(str.length>15) {
var new_str = str.substr(0,12)+'...'
}
alert(new_str)
</script>

Livaanderiamarum 01.02.2012 01:47

Array.prototype.forEach.call(document.querySelectorAll('a.hostip'), function(a){
	var text = a.innerHTML;
	if(text.length > 15){
		a.innerHTML = text.slice(0, 15) + '...'
	}
});

T-sh 01.02.2012 03:35

<script>
var myStr;
var myTags=document.getElementsByTagName('a'); 
    for (i=0; i<myTags.length; i++) { 
        if (myTags[i].className=='hostip') { 
          myStr = myTags[i].innerHTML;
          myTags[i].innerHTML=myStr.substr(0,15)+'...';
        } 
    }
</script>

Livaanderiamarum 01.02.2012 06:33

T-sh,
у массивов есть метод forEach

Изучаю_JS 01.02.2012 15:56

Livaanderiamarum, Все работает, но на тех у которых 13 символов тоже оставляет трое точи, как это исправить ?

Изучаю_JS 01.02.2012 15:56

нужно чтобы только сокращало те текста которые превышают 15 символов :(

Livaanderiamarum 01.02.2012 17:14

Цитата:

Сообщение от Изучаю_JS
но на тех у которых 13 символов тоже оставляет трое точи

значит там не 13 символов, а 15. пробелы и прочее..

Изучаю_JS 01.02.2012 17:23

Livaanderiamarum, я проверил, написал же 13 символов... и пробелы тоже посчитал

Изучаю_JS 01.02.2012 17:36

Livaanderiamarum, Все разобрался, всем огромное спасибо за внимания и помощь!

(Sandr) 26.02.2012 14:25

Изучаю_JS,
как по мне, так первый вариант лучше всего.


Часовой пояс GMT +3, время: 19:43.