【问题标题】:Replacing <a> tag inside an iFrame替换 iFrame 中的 <a> 标记
【发布时间】:2014-02-20 18:17:46
【问题描述】:

我有一个页面,它从 iframe 中的另一个域加载一些内容。我需要替换此 iFrame 中的一些内容,特别是按钮的目的地。到目前为止,我最接近的是这段 jQuery 代码:

$("#frameid").contents().find("div").html('My html');

问题在于,这适用于替换标签之间的内容,而不是标签本身——这是我能够改变 a 标签的 href 属性所需要的。

所以问题是:如何替换 iFrame 中某些 HTML 的标签(不是标签之间的内容)?

【问题讨论】:

  • 当 iFrame 不在同一个域中时,您无权访问它,因为同源策略禁止它。
  • 能否尝试更改包含标签的父节点的html?
  • 对了,你要修改的页面是同一个域吗?
  • @Drewness 该页面位于不同的域中。加载后是否无法修改浏览器中的内容?我已经尝试了下面建议的解决方案,当代码都在同一页面上时它们可以工作,但不在 iFrame 上,即使一切都是本地的。
  • @FernandoGarridoVaz - 没错,它属于Same-origin policy

标签: jquery iframe


【解决方案1】:

我认为您正在寻找 .replaceWith() http://api.jquery.com/replacewith/

$("#frameid").contents().find("div").replaceWith('<a>New Element</a>');

如果只是属性,使用 .attr() http://api.jquery.com/attr/

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 2013-05-29
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2021-01-21
    • 1970-01-01
    相关资源
    最近更新 更多