Есть ли альтернатива innerHTML? - проблема в браузере Blackberry - PullRequest
0 голосов
/ 29 сентября 2010

Есть ли альтернатива 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 Ответ

1 голос
/ 29 сентября 2010

Как насчет клонирования узла без дочерних элементов и последующего добавления нового контента?

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

...