我有很多iframe在我的主页面中调用一个函数。有没有办法找出调用该函数的iframe的ID?
同一个域名的所有部分都应该是一个问题。
感谢您的时间。
答案 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。
让我知道它是否对你有所帮助。