Есть ли альтернатива 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 будет работать как положено и будет копировать только теги и атрибуты. Надеюсь, поможет.

Другие вопросы по тегам