jQuery - Найдите и замените текст, после того, как тело было загружено

Я получил некоторую удивительную справку от других, относительно текста поиска и замены с jQuery.

Код ниже найдет слово: "Предмет": и замените его "Именем":

$("*").each(function () { 
   if ($(this).children().length == 0) { 
      $(this).text($(this).text().replace('Subject:','Name:')); 
   } 
});

И это работает замечательно.

Единственная вещь, с которой я сталкиваюсь с проблемами, заменяет текст, который загружается после загрузок страницы.

У меня действительно есть некоторые функции JavaScript, которые отображают данные из сервера, но только после того, как страница загрузила все элементы. Например, пользователь выбирает значение из выпадающего, которое инициирует событие для загрузки списка продуктов от базы данных.

Я форматирую некоторые из тех продуктов как это:

Apples Price сорта зеленых яблок: x.xx на фунт Пищевые факты....

Я только захочу найти замену словом "Price": и возможно замените его "Стоимостью":.

Но поскольку я упомянул, те данные еще не были загружены. И только дисплеи после пользователя выбирают "Яблоки сорта зеленых яблок" из выпадающего меню.

Действительно ли это - предел, с которым я должен жить?

15
задан Çağdaş Tekin 27 February 2010 в 23:53
поделиться

2 ответа

Вы можете попробовать прикрепить событие к событию ajaxStop , а также при загрузке:

function replaceText() {
    var jthis = $(this);
    $("*").each(function() { 
        if(jthis.children().length==0) { 
            jthis.text(jthis.text().replace('Subject:', 'Name:')); 
        } 
    });
}
$(document).ready(replaceText);
$("html").ajaxStop(replaceText);
13
ответ дан 1 December 2019 в 04:34
поделиться

Вызов функции из обратного вызова $ (document) .ready () следующим образом

$(document).ready(function() { replace_stuff(); } );
1
ответ дан 1 December 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: