Какая хорошая альтернатива перезаписи HTML?

Рассмотрим этот фрагмент документа:

An article about John

The frist paragraph is about John.

The second paragraph contains a link to John's CV.

Comments to John's article

  • Some user asks John a question.
  • John responds.

Я хотел бы заменить все вхождения строка «Джон» со строкой «Петр». Это можно сделать с помощью перезаписи HTML:

$('#test').html(function(i, v) {
    return v.replace(/John/g, 'Peter');    
});

Рабочая демонстрация: http://jsfiddle.net/v2yp5/

Приведенный выше код jQuery выглядит простым и понятным, но это обман, потому что это паршивое решение. Перезапись HTML воссоздает все узлы DOM внутри #test DIV. Впоследствии изменения, внесенные в это поддерево DOM программно (например, обработчики «onevent» ) или пользователем (введенные поля формы), не сохраняются.

Итак, как лучше всего выполнить эту задачу?

6
задан Šime Vidas 16 May 2011 в 00:12
поделиться