【问题标题】:jQuery .remove() returns error in IE9 [closed]jQuery .remove() 在 IE9 中返回错误 [关闭]
【发布时间】:2012-06-18 08:26:29
【问题描述】:

我在 IE9 中运行 Firebug Lite 测试我的网站,由于某种原因,当我尝试运行一个简单的命令来删除 div 时,它返回错误“TypeError: Object expected”。这是我正在运行的:

$("#drag-hoverbox_you").remove();

这在 Firefox 和 Chrome 中完美运行。 id 为“drag-hoverbox_you”的 div 肯定存在...

【问题讨论】:

  • 发布您的代码,因为它在这里可以正常工作:jsfiddle.net/fqYPs (IE 9)
  • "id 为 "drag-hoverbox_you" 的 div 肯定存在..." 即使不存在,jQuery 也会返回一个包含空集的有效对象。你确定你正在使用jQuery?不是其他也使用$ 的库吗? (别笑,这实际上是上周一个问题的答案。)
  • 旁注:为什么使用 firebug lite。 IE9 有一个不错的控制台...
  • 据我所知,这是 IE 中的可拖动 + 删除问题。请检查以下与您的问题重复的 stackoverflow 问题:stackoverflow.com/questions/5994990/…
  • @Christoph。有一个控制台听起来更好......

标签: javascript jquery cross-browser internet-explorer-9


【解决方案1】:

为避免再次遭到否决,我先用 IE9 对此进行了测试。

将此添加到 CSS

.iefix {
display:none;
}

并以这种方式删除您的放置功能

$("#drag-hoverbox_you").addClass("iefix").remove();

工作就像一个魅力!

【讨论】:

  • 您为什么需要这样做?当然不只是在正常情况下,您能详细说明造成这种情况的原因吗?
  • To avoid another downvote bombardment, I've tested this with IE9 first....我希望人们通常在发布答案之前对其进行测试,以确保信息正确,而不是因为害怕投反对票。
  • OP 的问题是关于 JQuery 中的 .remove() 方法,在我之前的回答中,我在 IE9 中提供了一个工作代码。出于某种原因,OP 忽略了提到他正在使用可拖动,所以这次我专门用可拖动对其进行了测试。因为显然,如果您使用 OP 的低质量输入来提供正确答案..您仍然会被否决。
【解决方案2】:

问题是我使用的是旧版本的 jQuery-UI 来使我的窗口可拖动。错误被返回是因为我试图删除的可拖动 DIV 中有一个 flash 对象。较新版本的 jQuery-UI 甚至不允许您使包含 Flash 对象的 DIV 可拖动。所以我现在可以删除 div 容器,但我无法使它们可拖动。感谢大家的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多