查找调用iframe ID

时间:2010-03-17 08:57:10

标签: javascript

我有很多iframe在我的主页面中调用一个函数。有没有办法找出调用该函数的iframe的ID?

同一个域名的所有部分都应该是一个问题。

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

我说你需要发送一个标识符和你的方法调用。它可以是一个可选参数,如果不存在则不会造成伤害,例如:

function foo(value, refId) {
  // do stuff with value
  if (typeof refId!=='undefined') {
    // handle this
  }
}

答案 1 :(得分:0)

最常见的方法是让控件将自身传递给函数

<script>function doClick(e){ alert('id = ' + e.id); }</script>
<span id=test onclick="doClick(this)"> click here</span>

另一种方法是使用:

event.srcElement

记录在案here

第三种方式但不可靠使用:

document.activeElement.name

后者不是最佳方法。

在我个人看来,我会选择第一个,因为它可以100%的时间工作,并且不会给你浏览器问题。

<强>更新 要获取当前iframe的id(假设您在同一页面上没有嵌套的iframe),您只需使用:

this.document.getElementsByTagName('body')[0]​.id

然后简单地将其与调用您的函数一起传递。例如,只需确保正文与您的iframe具有相同的ID。

让我知道它是否对你有所帮助。