2015-02-16 4 views
0

Вот моя функция:Клиринговый innerHTML проблемы в IE10

swPageProt.showContent = function() { 
     if (this._Parent) { 
      var container = this._Parent.getContentNode(); 
      if (container) { 
       console.log(this._Content.innerHTML); 
       console.log(this._Parent.getContentNode().innerHTML); 
       container.innerHTML = ''; 
       if (this._Content instanceof WT.BaseControl) { 
        this._Content.addToNode(container); 
       } 
       else if (this._Content.tagName) { 
        console.log(this._Content.innerHTML); 
        console.log(this._Parent.getContentNode().innerHTML); 
        container.appendChild(this._Content); 
       } 
       else { 
        container.innerHTML = this._Content + '' || ''; 
       } 
      } 
     } 
    }; 

Я хочу, чтобы очистить родительский контейнер и добавьте this._Content к нему. Это отлично работает в Chrome и Firefox, но строка container.innerHTML = ''; очищает как родительский, так и this экземпляров в IE10. И я всегда получаю пустой родительский контейнер с пустым дочерним (this) контентом. Как исправить это в IE10?

+0

Что такое 'swPageProt'? Что такое 'swPageProt._parent'? Как выглядит соответствующий DOM? Если 'this._Content + ''' оценивается как false, как будет отличаться значение '' ''? – RobG

+0

@RobG, этот 'swPageProt' - это определенный пользователем объект. Он представляет страницу в стеке страниц. Он имеет свойство '_Content', которое представляет элемент HTML div. Он также имеет свойство '_Parent', которое представляет весь контейнер стека. Таким образом 'this._Parent.getContentNode()' возвращает полный элемент div контейнера стека, который также включает 'this._Content' в качестве первого дочернего элемента. – splash27

ответ

0

Решение найдено! Необходимо использовать container.removeChild(container.firstChild); вместо container.innerHTML = '';

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

  • Нет связанных вопросов^_^