Я использую expressionengine как CMS, после того, как страница загружена, мне нужно найти "arbesthealth" и сделать это лучшим * здоровьем, что было бы лучшим способом сделать это? JQuery после того, как документ готов? это можно сделать с помощью CSS?
примечание: я не могу сделать это на стороне cms, потому что EE не разрешает теги внутри полей заголовка, поэтому это нужно делать на выходе. Думаю, я мог бы сделать это с помощью substr в php, но мне просто интересно, как это будет возможно.
Оберните тег внутри слова следующим образом:
$('.content').wrapInTag({
words: ['best'],
tag: '<span>'
});
См. FIDDLE
Я добавил в .content, но вы можете добавить его везде, где cms имеет контейнер
* ОБНОВЛЕНИЕ *
Как уже упоминалось, это повлияет на все, поэтому попробуйте этот метод:
html().replace
Простым решением было бы манипулировать innerHTML
(напрямую или через jQuery html
функцию), но это уничтожит и воссоздает все элементы, что не является идеальным - не в последнюю очередь потому, что любые обработчики событий, прикрепленные к ним, будут удалены.
Но простая рекурсивная функция обработки текстовых узлов и вставка strong
элементов по мере необходимости не составляет труда. Мой ответ на этот другой вопрос SO показывает, как это сделать, проходя через текстовые узлы и используя Text#splitText
чтобы разделить их и вставить элементы. Звучит намного больше, чем есть.
addEventListener
до его запуска. Так что это должно быть первым делом, прежде чем что-либо подключит какие-либо обработчики.