У меня есть где-то на сайте определенный текст, пусть говорят «lollypops», и я хочу заменить все вхождения этой строки на «marshmellows». Проблема в том, что я не знаю, где именно текст. Я знаю, что могу сделать что-то вроде:
Это, вероятно, сработает, но мне нужно переписать как можно меньше HTML, поэтому я думаю о чем-то вроде:
- поиск строки
- найдите ближайший родительский элемент
- переписать только ближайший родительский элемент
- замените это даже на атрибуты, но не на всех, например, замените его в class , но не в src
В качестве примера у меня была бы структура вроде этого
В этом примере каждое появление «lollypops» будет заменено, только останется прежним, и единственными элементами, которые будут фактически манипулировать, будет и оба s.
Кто-нибудь знает, как это сделать?
Вы можете сделать что-то вроде этого:
Лучше отметить все теги текстом, который необходимо изучить с подходящим именем класса.
Кроме того, это может иметь проблемы с производительностью. jQuery или javascript вообще не подходят для такого рода операций. Вам лучше сделать это на стороне сервера.
Материал из JQuery
Примеры
Допустим страница содержит следующий текст:
следующие два выражения будут равнозначны
в обоих случаях элемент списка с текстом «Тест» заменит элементы с классом i1. В результате, текст нашей страницы станет следующим:
Помимо html-текста, можно заменять одни элементы страницы другими. При этом, вставляемые элементы будут не скопированы, а перемещены. Например следующий код
изменит первоначальную страницу следующим образом:
Рассмотрим пример с использованием пользовательской функции. Добавим драматичности элементам из второго списка:
в итоге, текст первоначальной страницы станет следующим:
Часто необходимо найти и заменить текст на сайте, но времени или лень этого не позволяет, поэтому работаем через скрипт а именно с jquery библиотекой внизу приведено пару примеров как это можно сделать:
jQuery(function () <
jQuery(«:contains(FIND)»).not(«:has(:contains(FIND))»).each(function () <
var that = $(this);
var html = that.html();
$(function() <
//Задайте строку для поиска, замены и место поиска:
var phrase = «your search string»;
var replacement = «new string»;
var context = $(body);
context.html(
context.html().replace(‘/’+phrase+’/gi’, replacement);
);
>);
var el = $(‘p’);
el.html(el.html().replace(/Искомый_текст/ig, «Текст»));
document.getElementBy ).innerHTML.replace(/Искомый_текст/ig, ‘Текст’);
комментария 3 для записи Поиск и замена текста JS (jQuery)
Статья не отражает сути заголовка. Стоит переименовать в «Поиск и замена текста при помощи jQuery».
Любезнейший mozdev, как же она не отражает, jQuery это все тот же по сути JavaScrypt, при том в конце пример на чистом ява скрипте, ну если прям так бросается исправлю на jQuery.