Как найти текст и заменить с помощью jQuery - PullRequest
4 голосов
/ 16 декабря 2010

Я пытаюсь найти решение для поиска текстовой строки "Tony", содержащейся в DOM, и заменить ее текстовой строкой "Tiger".

У любого есть какие-либо идеи или идеи о том, как это сделать?Я предполагаю, что он будет принимать каждый оператор в сочетании с функцией замены и, возможно, содержит?

Спасибо, Джейк

Ответы [ 3 ]

17 голосов
/ 16 декабря 2010

Вы можете использовать это для поиска всех дочерних элементов элемента body и замены текста ...

$('body').children().each(function(){$(this).text( $(this).text().replace('Tony','Tiger') )});

Он использует jQuery.Он также должен изменять только текстовое содержимое элементов, но не форматирование HTML ...

Вы также можете использовать этот метод, который использует RegExp и получит все вложенные элементы:

 $('body').html( $('body').html().replace(/Tony/gi,'tiger') );
4 голосов
/ 16 декабря 2010

Ширина страницы, вы можете использовать что-то вроде этого:

var $body = $('body');
var html = $body.html();
var newHtml = html.replace('Tony', 'Tiger');
$body.html(newHtml);

Или, если у вас есть более конкретный контейнер, используйте jQuery, чтобы выбрать этот дочерний контейнер и сделать то же самое.

* 1005В любом случае, это своего рода подход к дробовику.Это изменит строку как в видимом тексте, так и в атрибутах HTML-элемента.Более подробный подход может потребоваться, если в некоторых местах строку следует игнорировать.
2 голосов
/ 16 декабря 2010

Возможно ли связать это с решением на стороне сервера? Вы можете обернуть каждый случай на стороне сервера слов специальным классом, например <span class="replaceme">texttoreplace</span>.

Запуск замены JavaScript в результирующих классах только должен ускорить процесс.

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