我有这样的代码:
openPopup.hide();
var substr = popupId.split('-');
var clone = $("#popup"+substr[1]).clone(true);
$("#popup"+substr[1]).remove();
$(openPopup).html(clone);
$.dimScreenStop();它在IE7,IE9,Chrome,Firefox中运行得很好。
我已经将问题跟踪到"var clone =$(“#popup”+substr1 1).clone(True);“行。这是通过在所有行之间添加“警告(”Test“);”在该行之后(在IE8中),它不会输出警报。
奇怪的是,jquery文件(只是在IE8中没有其他浏览器或浏览器版本)出现了错误:
SCRIPT5007:无法获得属性'nodeType':object为null或未定义的jquery.min.js?ver=3.4.1的值,第2行字符为4426
发布于 2012-10-02 07:39:37
您可以调用javascript DOM ()方法,而不是jQuery的克隆()。关于MDN的更多信息
例子:
var clone = $("#node").get(0).cloneNode(true);
var $clone = $(clone); // JQUERY object
$('#copy').empty().html($clone.html());===> Demo
发布于 2012-10-02 07:34:29
.clone()为您提供一个jQuery扩展元素和,而不是HTML 。尽管.html()能够接受jQuery对象,但这并不是它最初的目的。
作为一种解决方案,尝试使用$(openPopup).empty().append(clone);而不是$(openPopup).html(clone);
https://stackoverflow.com/questions/12686055
复制相似问题