clone() не работает Internet Explorer 8
У меня есть этот код:
openPopup.hide();
var substr = popupId.split('-');
var clone = $("#popup"+substr[1]).clone(true);
$("#popup"+substr[1]).remove();
$(openPopup).html(clone);
$.dimScreenStop();
Хорошо работает в IE 7, IE 9, Chrome, Firefox.
Я отследил проблему до строки "var clone = $ (" # popup "+ substr [1]). Clone (true);". Это путем добавления "alert (" Test ");" между всеми строками и после этой строки (в IE8) не выводит предупреждение.
Странно то, что я получаю сообщение об ошибке в min-файле jquery (просто в IE8 нет другого браузера или версии браузера):
SCRIPT5007: невозможно получить значение свойства 'nodeType': объект имеет значение null или не определено jquery.min.js? Ver=3.4.1, строка 2, символ 4426
2 ответа
.clone()
предоставляет расширенный элемент jQuery, а не текст HTML. Даже если .html()
достаточно приспособлен для приема объектов jQuery, это не то, для чего он изначально был предназначен.
В качестве решения попробуйте использовать $(openPopup).empty().append(clone);
вместо $(openPopup).html(clone);