Найти строку текста в элементе и обернуть вокруг него tags span

Я хочу найти строку текста в элементе и обернуть вокруг него tags span. Например:

Из

We have cows on our farm

до

We have cows on our farm

Я пробовал:

 $("h2:contains('cow')").each(function() { $(this).text().wrap(""); }); 

Но это только обертывает весь содержащий h2 тег.

 $("h2:contains('cow')").html(function(_, html) { return html.replace(/(cow)/g, '$1'); }); 

http://jsfiddle.net/w5ze6/1/

Другой подход, разделение по ключевому слову и присоединение к обновленному html.

 $("h2:contains('cow')").html(function(_, html) { return html.split('cow').join("cow"); }); 

Примечание. Я не тестировал это, но я предполагаю, что это будет хуже, чем замена, но в любом случае я бы включил любую информацию в информационных целях

Вот вариант ответа @ undefined, который перебирает массив элементов:

 var barnyardArray = [ 'cow', 'horse', 'chicken', 'hog', 'goat', 'goose', 'duck', 'llama' ]; $.each(barnyardArray, function (index, value) { $("p:contains(" + value + ")").html(function (_, html) { var regex = new RegExp(value, 'g'); return html.replace(regex, '' + value + ''); }); }); 
 $("h2:contains('cow')").each(function() { var newText = $(this).html().replace("cow", ""); $(this).html(newText); }); 

В моем случае у меня есть тег внутри целевого div и некоторый текст, который мне нужно обернуть этим текстом в ссылку.

Это как я сделал следующее «Что ты пробовал».

 var oldText = $(this).text(), newText = $(this).html().replace( oldText, "" + oldText + "" ); $(this).html(newText); 
  • Необязательно вводить сценарий контента
  • Запись в начале текстового файла Java
  • Обновление Android TextView в streamе и Runnable
  • PrintWriter vs FileWriter в Java
  • ReadAllLines для объекта Stream?
  • Мой CSS не вводится через мой скрипт контента
  • Как определить, меняет ли текст TextBlock?
  • Does Notepad ++ показывает все скрытые символы?
  • Определение типа двоичного / текстового файла в Java?
  • Interesting Posts

    Удаление дублированных строк с помощью dplyr

    Как увеличить сигнал / диапазон вашего Wi-Fi-ретранслятора / усилителя без антенны по сети?

    Как удалить (или настроить) «все приложения» в меню «Пуск» в Windows 10 после последнего обновления (Версия 1607, ОС Build 14393.82)

    Как я могу получить результаты сканирования Android Wifi в список?

    Где мой zsh получает свои настройки завершения git?

    Категории в статической библиотеке для устройства iPhone 3.0

    Android: getSupportActionBar () всегда возвращает null в библиотеке ActionBarSherlock

    Изменение метки грани в математической формуле в ggplot2

    Исключение, отличное от RuntimeException

    C #: Синхронизировать положение прокрутки двух RichTextBoxes?

    Параметры SqlCommand Добавить и AddWithValue

    Каков стандарт де-факто для обратного прокси-сервера, чтобы указать бэкэнд-SSL?

    Является ли массив примитивов Java хранимым в стеке или куче?

    Как применить OrderBy в IQueryable, используя имя столбца строки в универсальном методе расширения?

    Как включить второй монитор в C #?

    Давайте будем гением компьютера.