Вот моя функция:Клиринговый 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?
Что такое 'swPageProt'? Что такое 'swPageProt._parent'? Как выглядит соответствующий DOM? Если 'this._Content + ''' оценивается как false, как будет отличаться значение '' ''? – RobG
@RobG, этот 'swPageProt' - это определенный пользователем объект. Он представляет страницу в стеке страниц. Он имеет свойство '_Content', которое представляет элемент HTML div. Он также имеет свойство '_Parent', которое представляет весь контейнер стека. Таким образом 'this._Parent.getContentNode()' возвращает полный элемент div контейнера стека, который также включает 'this._Content' в качестве первого дочернего элемента. – splash27