Добавить span
|
|
lewonchik |
| молчун Группа: Проверенные Пользователь №: 220 Сообщений: 45
| Есть такой скриптик: Code $('h2.title').each(function() { var h = $(this).html(); var index = h.indexOf(' '); if(index == -1) { index = h.length; } $(this).html('<span>' + h.substring(0, index) + '</span>' + h.substring(index, h.length)); }); но есть одна проблема - он некорректно обрабатывает такую конструкцию:Code <h2 class="title"><!-- <bt> -->Меню сайта<!-- </bt> --></h2> т.е. после его работы получается такой код:Code <h2 class="title"><span><!--</span> <bt> -->Меню сайта<!-- </bt> --></span></h2> а должен быть такой:Code <h2 class="title"><!-- <bt> --><span>Меню</span> сайта<!-- </bt> --></h2> Если убрать теги юкоза, то всё работает нормально. Возможно ли побороть данный глюк?
Сообщение отредактировал lewonchik - Суббота, 14.05.2011, 23:14 | | |
|
Aleko |
| Watching you Группа: Администраторы Пользователь №: 2 Сообщений: 1621 Получено оценок: 167
| А смысл? Разницы то никакой.
Бесплатные обои. | | |
|
lewonchik |
| молчун Группа: Проверенные Пользователь №: 220 Сообщений: 45
| Aleko, разница есть. Мне нужно первое слово заключить в span, если убрать юкоз-теги, то скрипт отрабатывает как надо, т.е. вот так: Code <h2 class="title"><span>Меню</span> сайта</h2> если в коде присутствуют теги юкоза, то код ломается и span добавляется несколько разQuote <h2 class="title"><span><!--</span> <bt> -->Меню сайта<!-- </bt> --></span></h2> я незнаю как заставить его игнорировать теги юкоза, помоги если можешь.
Сообщение отредактировал lewonchik - Воскресенье, 15.05.2011, 08:29 | | |
|
RevoRen |
| Группа: Проверенные Пользователь №: 3249 Сообщений: 214
| lewonchik, убери uCoz коды.
Follow your Destiny
| | |
|
lewonchik |
| молчун Группа: Проверенные Пользователь №: 220 Сообщений: 45
| RevoRen, убрать коды это самое простое решение, но я хочу сохранить работоспособность конструктора.
Сообщение отредактировал lewonchik - Воскресенье, 15.05.2011, 15:22 | | |
|
GlebLozhkovoy |
| говорун Группа: Проверенные Пользователь №: 255 Сообщений: 116
| Code $('h2.title').each(function() { var text= $(this).text() var index = h.indexOf(' '); if(index == -1) { index = h.length; } $(this).html('<h2 class="title"><!-- <bt> --><span>' + text.substring(0, index) + '</span>' + text.substring(index, h.length)+'<!-- </bt> --></h2>'); }); Не? | | |
|
lewonchik |
| молчун Группа: Проверенные Пользователь №: 220 Сообщений: 45
| GlebLozhkovoy, твой вариант вообще не работает, и судя по коду ты предлагаешь в строчкуCode <h2 class="title"><!-- <bt> -->Меню сайта<!-- </bt> --></h2> добавлять ещё одну такую же. Мне нужно чтобы скрипт игнорировал открывающий юкоз-тег
| | |
|
Aleko |
| Watching you Группа: Администраторы Пользователь №: 2 Сообщений: 1621 Получено оценок: 167
| lewonchik, попробуй: Code <script> +function(){ var elems = document.getElementsByTagName('h2'), count = elems.length; while(count--){ if(/(\b|^)title(\b|$)/.test(elems[count].className)){ elems[count].innerHTML=elems[count].innerHTML.replace(/-->([^\s]+?)\s/,'--><span>$1</span> '); } } }() </script>
Бесплатные обои. | | |
|
lewonchik |
| молчун Группа: Проверенные Пользователь №: 220 Сообщений: 45
| Aleko, спасибо огромное, всё работает, просто огромнейшее спасибо ещё раз!!!
| | |
|
Aleko |
| Watching you Группа: Администраторы Пользователь №: 2 Сообщений: 1621 Получено оценок: 167
| lewonchik, нет проблем.
Бесплатные обои. | | |
|