Jquery 克隆()无法使用internet explorer 8

Jquery 克隆()无法使用internet explorer 8,jquery,internet-explorer,clone,Jquery,Internet Explorer,Clone,我有以下代码: 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中运行良好 我已将问题追溯到行“

我有以下代码:

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”+substr[1]).clone(true);”。这是通过在所有行之间添加“alert(“Test”);”实现的,在该行之后(在IE8中),它不会输出警报

奇怪的是,我在jquery min文件中发现了错误(仅在IE8中没有其他浏览器或浏览器版本):

SCRIPT5007:无法获取属性“nodeType”的值:对象为null或未定义 jquery.min.js?ver=3.4.1,第2行字符4426

.clone()
为您提供一个jquery扩展元素,而不是HTML文本。尽管
.html()
足够容纳jQuery对象,但这并不是它最初的目的


作为解决方案,请尝试使用
$(openPopup).empty().append(clone)而不是
$(openPopup).html(克隆)

您可以调用javascript DOM API cloneNode()方法,而不是jQuery的clone()。 更多有关

例如:

var clone = $("#node").get(0).cloneNode(true);
var $clone = $(clone); // JQUERY object

$('#copy').empty().html($clone.html());​

==>

您使用的是什么版本的jQuery?我使用的是1.7.1版,将更新并尝试最后一个版本。现在它是最新的1.8.2版,恐怕没有任何更改。谢谢您的回答!恐怕没有用。问题出在IE8中的“var clone=$(“#popup”+substr[1]).clone(true);”行上,因为它不会在该行下执行任何操作。因此,编辑line.html(克隆);想要情感。哦。。好啊在克隆之前,请尝试警告
substr[1]
的值
alert(substr[1])
-这可能会给您一些提示。它工作正常,会提醒div id名称末尾的id。谢谢您的回答!问题是这个“脚本”是一个弹出窗口,里面有一个youtube视频,当你点击一个链接时就会显示出来。我想能够点击链接,得到弹出窗口,然后关闭它多次。所以,如果我是对的,上面的代码在第二次点击链接时不会工作?我不明白你想做什么,但是cloneNode是IE中克隆的替代品。