2010-09-29 3 views
0

Есть ли альтернатива 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; 
     }  
    }); 
+0

Что произойдет, если вы установите innerHTML на пустую строку? Он все еще хранит старые вещи? – Josh

ответ

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

+0

совершенно блестящий. Вытащил его, и он сработал первым выстрелом! – robert

Смежные вопросы