Как настроить таргетинг на конкретную букву / слово с помощью jquery? - PullRequest
4 голосов
/ 27 марта 2010

В качестве простого примера я хочу применить класс "fancy" к всем вхождениям знака "&" в документе.

CSS:

.fancy { font-style: italic; }

Итак, текст, который выглядит так:

Ben & Jerry's

будет обработан jquery следующим образом:

Ben <span class="fancy">&amp;</span> Jerry's

Существует ли функция для нацеливания на определенные слова / фразы / буквы, подобные этой?

Ответы [ 3 ]

4 голосов
/ 27 марта 2010

Это не то, с чем jQuery обычно полезен - он работает больше на уровне узла, чем на уровне text / html. Однако это может помочь ( source ):

$('p:contains(&)').each(function(){
  $(this).html(
    $(this).html().replace('&amp;','<span class=\'fancy\'>&amp;</span>')
  );
});

Очевидно, что если вы можете ограничить начальный поиск чем-то лучшим, чем все абзацы, он будет работать лучше. Вам также следует проверить, действительно ли фильтр :contains помогает.

Это не красиво, но, кажется, работает.

2 голосов
/ 27 марта 2010

Есть плагин «выделить», который делает почти то, что вы описываете:

http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html

1 голос
/ 27 марта 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...