【问题标题】:jQuery context not working as expectedjQuery 上下文未按预期工作
【发布时间】:2017-04-22 08:12:42
【问题描述】:

在 Chrome 开发工具中使用 $(CommandLineAPI querySelector) 可以正常工作:

$('body', iframe.contentDocument) // <body></body>

它获取 iframe 的正文。

用 jQuery 做同样的事情不会:

jQuery('body', iframe.contentDocument) // Empty jQuery result

有什么方法可以在 devTools 之外实现相同的功能?

【问题讨论】:

  • 如果你 console.log(iframe) 会发生什么。它是否显示正确的 iframe?
  • 是的,它还会显示我是否记录 iframe.contentDocument
  • 也许您正试图在它准备好之前访问它?尝试在 iframe 上附加一个事件处理程序,以确保在 iframe 加载后执行 jQuery。
  • 就是这样,谢谢!
  • 我添加了一个答案。如果这就是您正在使用的内容,请务必将其标记为答案(或者只需添加您自己的答案,以供将来的访问者使用)。

标签: javascript jquery html iframe jquery-selectors


【解决方案1】:

确保在 iframe 准备就绪后访问它。

jQuery(iframe).load(function() {
    //Iframe is now loaded, so jQuery should be able to access the DOM:
    jQuery('body', iframe.contentDocument)
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多