IE 8 中绝对奇怪的appendTo 问题
以下代码几乎适用于所有情况(变量名称已更改):
this.$something.appendTo($container);
但在 IE8 中,它只是......不执行附加操作。没有错误。没有警告。不是呜咽。纯粹是运气好,我们发现了一些没有明显原因的东西:
$('<div class="hideme">ihateIE</div>').appendTo($('body')).remove();
this.$something.appendTo($container);
这不是时间问题 - 不涉及 setTimeout,所有变量要么是当时创建的,要么已经存在了一段时间。而且无论您附加什么,无论您将其附加到何处,只要您将某物附加到某物,它就可以工作。
为什么,为什么,为什么,为什么,为什么?我讨厌把这个 hack 留在我的代码中。
The following code works great in almost everything (variable names changed):
this.$something.appendTo($container);
But in IE8, it was just... not doing the append. No error. No warning. Not a whimper. Through sheer luck, we found something that worked for no discernable reason:
$('<div class="hideme">ihateIE</div>').appendTo($('body')).remove();
this.$something.appendTo($container);
It's not a timing issue - there's no setTimeout involved and all the variables are either created right then or have been around for a while. And it works no matter what you append, no matter where you append it to, as long as you append SOMETHING to SOMETHING.
Why, why, why, why, why? I hate leaving this hack in my code.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论