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

Dorian_bs 05.09.2011 20:00

Обрезание текста
 
Всем привет!
Помогите! Не получается осуществить следующую задачу..
У меня есть код:

Например:

<div class="file">
  <div class="zagol">тра ля ля, тра ля ля</div>
</div>

<div class="file">
  <div class="zagol">тра я ля</div>
</div>

....


При условии, если в заголовке количество символов превышает "5", тогда заголовок обрезается и на конце ставится "...".
Помогите осуществить!

Триви 05.09.2011 20:58

<script type="text/javascript">
window.onload = function(){
  div_arr = document.getElementsByTagName('div');
  for (var i = 0; i < div_arr.length; i++) {
       if(div_arr[i].className=='zagol') {
          if (div_arr[i].innerHTML.length > 5) {
              div_arr[i].innerHTML = div_arr[i].innerHTML.substr( 0, 5 )+ "...";
          }
       }
  }
};
</script>

ваый 05.09.2011 21:55

Триви, не учитываешь переносы строк.

Dorian_bs 06.09.2011 00:20

Триви,
Спасибо большое!)))))
ваый, да, но в данном случае можно использовать и "white-space: nowrap" =)

Триви 06.09.2011 00:38

Цитата:

Сообщение от ваый (Сообщение 125047)
Триви, не учитываешь переносы строк.

Это уже ария из другой оперы))
Кроме того, не думаю, что в заголовке могут встречаться символы переноса..

зы: я чесслово не понимаю зачем вообще такое нужно..
почему бы сразу серверным скриптом не нагенерить так как нужно? :-?

Триви 06.09.2011 00:55

Кстати, а если в дивах с nowrap будут присутствовать символы перевода строки,
означает ли это, что innerHTML вернет значение без них? :blink:

Dorian_bs 06.09.2011 01:01

Не знаю))
"присутствовать символы перевода строки" - но их там нет)))

"почему бы сразу серверным скриптом не нагенерить так как нужно?"
Ucoz не такой умный)

popov654 06.09.2011 01:01

Проверь)
Кстати, что даёт nowrap - запрещает перенос слов что ли?

ваый 06.09.2011 01:08

Цитата:

Сообщение от Триви
Кстати, а если в дивах с nowrap будут присутствовать символы перевода строки,
означает ли это, что innerHTML вернет значение без них?

ну даже если там явно переносов нету, это не значит, что их нет.
<div class="zagol">
    тра ля ля, тра ля ля
</div>
Тут 5 символов будет совсем не те, что ожидается.

Триви 06.09.2011 01:10

Цитата:

Сообщение от popov654 (Сообщение 125079)
Проверь)

Если честно, впадлу))
Потому что я забыл мышак в офисе,
а тачпад маня нервирует :-E :D

Проверь, интересно же! =))


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