У меня есть несколько JQuery, который принимает 2 строки HTML. Каждая строка содержит точно такой же html, за исключением того, что в одной строке содержимое внутреннего текста каждого элемента будет отличаться, эта строка называется newContent , другая oldContent .
Моя функция: перебирает oldContent, для каждого элемента класса «обновляемый» (внутри oldContent) мы меняем его innerText на innerText того же элемента в newContent.
Моя проблема: это не меняет содержимое oldContent, после того, как я выполню функцию, oldContent содержит точно такой же HTML (где должно произойти, чтобы элементы обновляемого класса имели другой innerText) .
Почему строка oldContent не меняется?
function insertContentIntoUpdatableElements( oldContent, newContent )
{
// Pre: oldContent & newContent must be strings of HTML returned from jquery's
// $("").html()
try
{
alert("BEFORE: "+oldContent);
var index = 0;
var oldElements = $(oldContent).find(".updatable");
var newElements = $(newContent).find(".updatable");
$(oldContent).find(".updatable").each( function()
{
var txt = $(newElements[index]).text(); alert("TEXT: "+txt);
alert("OLD TEXT: "+$(this).text());
$(this).text(txt);
index++;
alert("NEW TEXT: "+$(this).text()); // prints out CORRECT updated/changed text
});
alert("AFTER: "+oldContent); // prints out INCORRECT updated/changed text for each element of class "updatable"
return oldContent;
}
catch(ex) { alert("In insertContentIntoUpdatableElements(): "+ex); return "FAILED"; }
}