У меня есть где-то на сайте определенный текст, пусть говорят «lollypops», и я хочу заменить все вхождения этой строки на «marshmellows». Проблема в том, что я не знаю, где именно текст. Я знаю, что могу сделать что-то вроде:
Это, вероятно, сработает, но мне нужно переписать как можно меньше HTML, поэтому я думаю о чем-то вроде:
- поиск строки
- найдите ближайший родительский элемент
- переписать только ближайший родительский элемент
- замените это даже на атрибуты, но не на всех, например, замените его в class , но не в src
В качестве примера у меня была бы структура вроде этого
В этом примере каждое появление «lollypops» будет заменено, только останется прежним, и единственными элементами, которые будут фактически манипулировать, будет и оба s.
Кто-нибудь знает, как это сделать?
Вы можете сделать что-то вроде этого:
Лучше отметить все теги текстом, который необходимо изучить с подходящим именем класса.
Кроме того, это может иметь проблемы с производительностью. jQuery или javascript вообще не подходят для такого рода операций. Вам лучше сделать это на стороне сервера.
Материал из JQuery
Примеры
Допустим страница содержит следующий текст:
следующие два выражения будут равнозначны
в обоих случаях элемент списка с текстом «Тест» заменит элементы с классом i1. В результате, текст нашей страницы станет следующим:
Помимо html-текста, можно заменять одни элементы страницы другими. При этом, вставляемые элементы будут не скопированы, а перемещены. Например следующий код
изменит первоначальную страницу следующим образом:
Рассмотрим пример с использованием пользовательской функции. Добавим драматичности элементам из второго списка:
в итоге, текст первоначальной страницы станет следующим:
Часто необходимо найти и заменить текст на сайте, но времени или лень этого не позволяет, поэтому работаем через скрипт а именно с jquery библиотекой внизу приведено пару примеров как это можно сделать:
jQuery(function ()
Источник: