JQuery 在 Iframe 中查找元素(通过其文本)并向其添加 .click 函数

标签 jquery iframe filter find contains

我有一个网页 (A),我正在使用 iframe 将 (A) 嵌入我的主页 (B)。此 (A) 包含一个关闭浏览器窗口的链接:

<a href="" onclick="window.opener = window;
    window.close();
    return false;">Close The Page</a>

自从我嵌入 (A) 以来,(A) 中的关闭功能不再起作用。我需要做的是,当从 (B) 单击此链接时,我想隐藏我的 iframe,换句话说,使其看起来像关闭一样。所以我必须到达 iframe 中的该链接并了解它是否被点击(B)?

请帮忙。

谢谢

最佳答案

我认为以下内容会起作用。我们基本上是对 iframe 的内容执行“查找”。一旦找到所需的链接,我们就将一个事件绑定(bind)到它,该事件将关闭父文档中正确的 iframe。请注意,您的 iframe 必须与父页面位于同一域中,否则您将无法访问其元素。此外,我在链接中添加了一个类,以便于选择。我建议您也这样做。

$("#iframeID").contents().find("a.closeWindow").bind("click", function(){
  $("#iframeID", top.document).hide();
});

如果您确实需要根据链接文本进行绑定(bind),则必须循环浏览链接才能找到合适的链接:

$("a", $("#iframeID").contents()).each(function(){
  if ($(this).text() == "Close The Page") {
    $(this).bind("click", function() { 
      $("#iframeID", top.document).hide(); 
    });
  }
});

关于JQuery 在 Iframe 中查找元素(通过其文本)并向其添加 .click 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1508442/

相关文章:

javascript - 如何在连接变量的特定部分动态插入文本

jquery - 动态确定div的高度

javascript - 将参数值组合到 Jquery 中的变量名

javascript - 如何获取沙盒 iframe 的高度?

javascript - 如何从自动完成 jQuery 中过滤类别

javascript - 使用 ajax 将 img id 发送到另一个文件

html - 包含 iframe 的页面中的选项卡(键盘)导航

XPath 选择同时排除具有特定属性值的元素

spring-mvc - 从过滤器修改Controller中的@RequestBody对象

javascript - 将 jQuery 加载到 iframe 中并在加载时收到通知