IE 中的 jQuery .clone() .html() Bug

发布于 2024-12-02 14:42:17 字数 477 浏览 1 评论 0原文

jQuery 1.6.2 中似乎仍然存在一个错误,该错误与 .clone() 和 .html() 存在问题。我创建了一个小提琴: http://jsfiddle.net/Vxyu3/12/ 应该有助于解释漏洞。如果您依次单击这两个链接,在 Firefox 中,内容将毫无问题地来回翻转。然而,在 IE 中(特别是 IE7),如果您转到小提琴,然后点击“显示动态内容”,然后点击“显示克隆”,然后点击“显示动态内容”,然后点击“显示克隆”,克隆内容将不再可见。事实上它甚至没有注入到 DOM 中。就像它消失了,或者在途中的某个地方被删除了......有没有人遇到过这个错误以及我将从哪里开始解决这个问题。

谢谢!

http://jsfiddle.net/Vxyu3/12/

There seems to be a bug still present in jQuery 1.6.2 that has an issue with .clone() and .html(). I created a fiddle: http://jsfiddle.net/Vxyu3/12/ that should help explain the bug. If you click on both links one after another, in Firefox the content will flip back and forth with no problems. In IE however (particularly IE7) if you go to the fiddle and then hit "Show Dynamic Content" then "Show Clone" then "Show Dynamic Content" then "Show Clone", the clone content is no longer visible. In fact it's not even injected into the DOM. It's like it disappears, or get erased somewhere along the way... Has anyone come across this bug and where I would start about fixing the issue.

Thanks!

http://jsfiddle.net/Vxyu3/12/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

じ违心 2024-12-09 14:42:18

必须通过将克隆的对象扔到另一个 div 中,隐藏该 div,然后每次附加其内容来解决这个问题。很烦人并且会导致代码更长,但它是目前唯一有效的方法。

Had to get around this by throwing the cloned object into a another div, hiding that div, and then appending its contents each time. Annoying and makes for longer code, but it's about the only thing that works right now.

我恋#小黄人 2024-12-09 14:42:17

可能是一个闭包引用错误。尝试在全局范围内定义克隆参数,但将赋值保留在就绪回调内。

不,那不行。它看起来像一个 jQuery/IE 错误,其中使用 jQuery 对象作为 HTML() 函数会导致一些问题。

试试这个:domCloneMe.html(cloned.html());

May be a closure reference bug. Try defining the cloned parameter in global scope, but keep the assignment within the ready callback.

No, that doesn't work. It looks like a jQuery/IE bug where using a jQuery object for the HTML() function causes some problems.

Try this instead: domCloneMe.html(cloned.html());

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文