Вставка содержимого после запятой

Menro

web, seo, email, hack
Регистрация
27 Янв 2008
Сообщения
689
Реакции
138
Привет самый отзывчивый раздел форума!
Вновь иду к Вам за помощью, так как самостоятельно с задачей справиться не получается.

Есть у меня вот такой набор элементов:

<ul>
<li>Содержимое</li>
<li>Содержимое, с запятой</li>
</ul>

Так вот, мне после запятой в <li></li> нужно добавить <br />, что бы получилось так:

<ul>
<li>Содержимое>
<li>Содержимое, <br /> с запятой</li>
</ul>

У меня пока получается вставить только за пределы </li> и то, если делаю точный поиск текста, если указываю запятую не реагирует.

Заранее большое спасибо!
 
HTML:
$.each($('li'),function(i,e){
    $(e).html( $(e).html().replace(",",",<br/>") );
});

Быстро отреагировали, поэтому из под UPD перенес ответом, что бы не потерять хоть событий
 
в случае, когда в replace в качестве первого параметра передана строка - будет заменено лишь первое совпадение.
Т.е. <li>Содержимое, с запят, ой</li> превратится в <li>Содержимое,<br> с запят, ой</li>
Надо так: /,/g - тогда заменит все запятые.

Можно еще split/join использовать.
Код:
var a = $('ul');
a.html(a.html().split(',').join(',<br>'));
 
Вместо replace можно воспользоваться replaceAll
 
Что бы не плодить темы, позвольте ещё один вопрос:

Есть у меня вот такое содержимое:

HTML:
<div class="country">Испания, Россия</div>

Есть вот такой код:

HTML:
jQuery(document).ready(function() {
        jQuery('.country:contains("Испания")').before('<span class="icon-county icon-ISPANIYA"></span>');
        jQuery('.country:contains("Россия")').before('<span class="icon-county icon-ROSSIYA"></span>');
        });

Как видите, я ищу слово Испания и Россия и добавляю туда спаны.
Так вот у меня все спаны добавляются в начало дива, а хотел бы добавить один <span> перед словом Испания, а другой соответственно перед словом Россия.
Как это можно сделать?

Заранее спасибо!
 
Так вот у меня все спаны добавляются в начало дива, а хотел бы добавить один <span> перед словом Испания, а другой соответственно перед словом Россия.
Как это можно сделать?
Такие штуки лучше на стороне сервера делать. На js, наверное как-то так:
HTML:
$('.country').html(function(i, str){
  var reg = /(\Испания)|(\Россия)/g;
  str = str.replace(reg, function(str, sp, ru){
    if(str == sp){
      return '<span class="icon-county icon-ISPANIYA"></span>' + str;
    }
    if(str == ru){
      return '<span class="icon-county icon-ROSSIYA"></span>' + str;
    }
    });
  return str;
});
 
Последнее редактирование:
Назад
Сверху