Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Поиск слова по заглавной букве (https://javascript.ru/forum/jquery/62712-poisk-slova-po-zaglavnojj-bukve.html)

Vladislav306907 25.04.2016 11:55

Поиск слова по заглавной букве
 
Добрый день, подскажите, как можно решить следующую ситуацию, у меня идея есть, но воплотить ее сообразительности не хватает.
Есть много строк типа
<span class="am-cat-icon">Дровяные печи для бани Везувий</span>

Мне нужно чтобы бренд (крайнее слово с большой буквы) сменил цвет, но я не знаю как задать условие, крайнее слово с большой буквы.

По сути, как я полагаю, нужен поиск по text() - записываем все символы после крайней заглавной буквы в переменную и потом меняем ее стиль

Vladislav306907 25.04.2016 11:56

Еще может быть вероятность того что все последнее слово целиком будет написано заглавными буквами

Decode 25.04.2016 15:36

<span class="am-cat-icon">Дровяные печи для бани Везувий</span>

<script src="https://code.jquery.com/jquery-2.1.4.js"></script>

<script>
  $('span').html( $('span').html().replace(/([а-я]+$)/i, '<span style="color: red; ">$1</span>') );
</script>

рони 25.04.2016 16:03

Decode,
Цитата:

Сообщение от Vladislav306907
Есть много строк типа


Vladislav306907 25.04.2016 16:05

Decode,
Прописал следующим образом
$('ul#accordion-menu span').html( $('ul#accordion-menu span').html().replace(/([а-я]+$)/i, '<span style="color: red; ">$1</span>') );

Получился весьма любопытный результат http://stroimbaniu.ru/category_Drovy...vara1458847425 (боковое меню - там на самом деле различные наименования должны быть) строчка скрипта лежит в common.js

рони 25.04.2016 16:13

Vladislav306907,
а самому циклом слабо или документацию на .html() посмотреть и добавить нужное.

рони 25.04.2016 16:30

Vladislav306907,
это сервер должен делать, а не клиент ...
$('.am-cat-icon').html( function(i,html) {
   return  html.replace(/(\s"?[A-ZА-ЯЁ][\S\s"]+$)/, '<span style="color: red; ">$1</span>') ;
})

Vladislav306907 25.04.2016 16:34

Спасибо, я пытался как то так
$('ul#accordion-menu span').html( $(this).html().replace(/([а-я]+$)/i, '<span style="color: red; ">$1</span>') );

Вопрос для развития: что тут сервер и почему это должен делать он?


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