Рассмотрим этот фрагмент документа:
An article about John
The frist paragraph is about John.
The second paragraph contains a link to John's CV.
Я хотел бы заменить все вхождения строка «Джон» со строкой «Петр». Это можно сделать с помощью перезаписи HTML:
$('#test').html(function(i, v) {
return v.replace(/John/g, 'Peter');
});
Рабочая демонстрация: http://jsfiddle.net/v2yp5/
Приведенный выше код jQuery выглядит простым и понятным, но это обман, потому что это паршивое решение. Перезапись HTML воссоздает все узлы DOM внутри #test DIV. Впоследствии изменения, внесенные в это поддерево DOM программно (например, обработчики «onevent»
) или пользователем (введенные поля формы), не сохраняются.
Итак, как лучше всего выполнить эту задачу?
Comments to John's article