Есть ли альтернатива innerHTML? - проблема в браузере Blackberry
Есть ли альтернатива innerHTML? - проблема в браузере Blackberry
Браузер Blackberry 4.6, похоже, неправильно использует innerHTML. Вместо замены содержимого он добавляет содержимое!
function load_activities(){
x$('#dummy').xhr('program.php',{
method:'post',
data: 'action=list'.
callback: function(){
document.getElementById("status2").innerHTML = this.responseText;
}
});
1 ответ
Решение
Как насчет клонирования узла без потомков и последующего добавления нового контента?
callback: function () {
var status2 = document.getElementById("status2");
var copy = status2.cloneNode(false); // false indicates to not copy children
copy.innerHTML = this.responseText;
if (status2.nextSibling) { // put the copy in the same place as the existing node
var refchild = status2.nextSibling;
status2.parentNode.removeChild(status2);
refchild.parentNode.insertBefore(copy, refchild);
}
else { // existing node is the last child, copy can be appended to the end of the list
var parent = status2.parentNode;
parent.removeChild(status2);
parent.appendChild(copy);
}
}
У меня нет возможности проверить это, поэтому я точно не знаю, cloneNode
будет работать как положено и будет копировать только теги и атрибуты. Надеюсь, поможет.