Я использую этот код для обновления div
с просьбой AJAXInnerHTML добавить вместо того, чтобы заменить
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("some_id").innerHTML += xmlhttp.responseText;
}
}
xmlhttp.open("GET", "http://example.com/");
xmlhttp.setRequestHeader('Content-Type', 'utf8');
xmlhttp.send();
Все отлично работает, проблема в том, что, когда div
с идентификатором some_id
имеет много контента в нем я вижу, что содержимое исчезает, а затем появляется после обновления запроса AJAX.
Я думаю, что это потому, что
document.getElementById("some_id").innerHTML += xmlhttp.responseText;
ли удаление и замена innerHTML
в div
с предыдущим innerHTML
плюс нового содержания, в результате чего previous content → blank → updated content
поведения.
Есть ли способ до добавить новый контент в div
вместо того, чтобы заменить его весь контент на новый?
вы используете JQuery или родной JavaScript? – Raghu
попробуйте добавить дочерний элемент вместо замены всего html –
@Raghu Я использую оба варианта, но для меня было бы лучше использовать чистое решение javascript – BackSlash