Может кто-нибудь сказать мне, почему этот код не обновляет ответ данных?Это простой пример функции каждая .
Вот HTML-файл, запрошенный ajax:
<html>
<div class="new">
<div class="span4">
<h2>Heading1</h2>
<p>Text1</p>
<p><a href="#">Link1</a></p>
</div>
<div class="span4">
<h2>Heading2</h2>
<p>Text2</p>
<p><a href="#">Link2</a></p>
</div>
</div>
</html>
, а вот основное тело файла:
<!DOCTYPE html>
<body>
<textarea id="gethtml" rows="40" cols="125"></textarea>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script>
"use strict";
$(function() {
$.get('file.html', function(data) {
ajaxfunction(data);
});
function ajaxfunction(data) {
$(data).find(".span4").each(function () {
$(this).find("p").eq(0).text("Hello");
$(this).find("p").eq(0).after("<p>newline</p>");
console.log($(this));
});
$("#gethtml").val(data);
}
});
</script>
</body>
</html>
Вы видите, что консоль отображает правильные данные для каждого span4, но почему строка «data» не обновляется для отражения изменений?
EDIT
function ajaxfunction(data) {
var tree = $("<div>" + data + "</div>");
$(tree).find(".span4").each(function () {
$(this).find("p").eq(0).text("Hello");
$(this).find("p").eq(0).after("<p>newline</p>");
console.log($(this));
});
$("#gethtml").val(tree.html());
}
Это место в текстовой области, т.е. <p>Hello</p><p>newline</p>
.Итак, чтобы также вставить новую строку в нее, мне придется изменить ее как строку, верно?
Спасибо!