• Страница 1 из 1
  • 1
Форум Studio AD » Сайтостроение » Общий форум по Javascript » Добавить span
Добавить span
lewonchik
Дата: Суббота, 14.05.2011, 23:14 | Сообщение # 1
молчун
Группа: Проверенные
Пользователь №: 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
Дата: Воскресенье, 15.05.2011, 01:57 | Сообщение # 2
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
А смысл? Разницы то никакой.

Бесплатные обои.
  
lewonchik
Дата: Воскресенье, 15.05.2011, 08:26 | Сообщение # 3
молчун
Группа: Проверенные
Пользователь №: 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
Дата: Воскресенье, 15.05.2011, 13:35 | Сообщение # 4
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
lewonchik, убери uCoz коды.

Follow your Destiny

  
lewonchik
Дата: Воскресенье, 15.05.2011, 15:22 | Сообщение # 5
молчун
Группа: Проверенные
Пользователь №: 220
Сообщений: 45
RevoRen, убрать коды это самое простое решение, но я хочу сохранить работоспособность конструктора.



Сообщение отредактировал lewonchik - Воскресенье, 15.05.2011, 15:22
  
GlebLozhkovoy
Дата: Воскресенье, 15.05.2011, 17:34 | Сообщение # 6
говорун
Группа: Проверенные
Пользователь №: 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
Дата: Воскресенье, 15.05.2011, 18:26 | Сообщение # 7
молчун
Группа: Проверенные
Пользователь №: 220
Сообщений: 45
GlebLozhkovoy, твой вариант вообще не работает, и судя по коду ты предлагаешь в строчку
Code
<h2 class="title"><!-- <bt> -->Меню сайта<!-- </bt> --></h2>
добавлять ещё одну такую же.

Мне нужно чтобы скрипт игнорировал открывающий юкоз-тег

Code
<!-- <bt> -->


  
Aleko
Дата: Понедельник, 16.05.2011, 19:38 | Сообщение # 8
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
Дата: Понедельник, 16.05.2011, 22:07 | Сообщение # 9
молчун
Группа: Проверенные
Пользователь №: 220
Сообщений: 45
Aleko, спасибо огромное, всё работает, просто огромнейшее спасибо ещё раз!!!

  
Aleko
Дата: Вторник, 17.05.2011, 08:22 | Сообщение # 10
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
lewonchik, нет проблем.

Бесплатные обои.
  
Форум Studio AD » Сайтостроение » Общий форум по Javascript » Добавить span
  • Страница 1 из 1
  • 1
Поиск:
© Studioad.ru 2006 · 2010. Использование материалов форума на сторонних ресурсах без прямой обратной ссылки строго запрещено. Хостинг от uCoz.