如何使用jQuery或javascript访问iframe的内容
我有一个加载页面的iframe,当单击一个按钮时,该页面会加载包含链接的动态内容。 我需要将所有这些链接的目标从_blank
更改为_self
– 但我完全停留在每次在iframe中加载新内容时如何运行代码。 我已经尝试了很多选项,最新的是将iframe函数添加到iframe作为运行代码的触发器:
$("#myFrame").click(function () { $('#myFrame').find('a[target="_blank"]').each(function () { $(this).attr('target', '_self'); }); });
一旦内容在iframe中加载完成后,如何查找动态生成的内容并更改链接目标? 由于iframe中的页面位于同一个域中,因此没有“同源策略”问题。
谢谢。
使用javaScript来获取iframe的DOM,如下所示:
var doc=window.frames[ "yourFrameName" ].document
注意:如果您遵循上述规则获取框架的DOM,请使用name
而不是框架的id
或class
将其更改为jquery对象
var elem=$(doc);
现在绑定elem
上的click事件就像你在问题中的代码中一样
elem.click(function () { elem.find('a[target="_blank"]').each(function () { $(this).attr('target', '_self'); }); });
您可以使用contents()方法
这是一个例子:
$("#myiframe").contents().find("#myContent")