<iframe id="myiframe" src="doc.html">
<button id="btn1"></button><!-- how to get this id? -->
</iframe>
$('#myiframe').on('click', function () {
alert(this.id);
});
我希望它提醒&#34; btn1&#34;。
答案 0 :(得分:0)
没有。出于安全原因,无法执行此操作。
在iframe和当前页面之间进行通信的唯一方法是iframe中的url已包含一些javascript并更新iframe网址。 iframe然后将一些数据放入页面可以检索的URL中。
如果iframe的目标不属于你,那就不可能了。
答案 1 :(得分:0)
请参阅jQuery cross domain iframe scripting了解可能使其工作的复杂解决方法。
不建议这样做;最好的方法是重新架构文档并尝试解决不同的问题。例如,您可以通过ajax调用请求远程内容并将其插入到文档中。
例如,使用jQuery.load:
$(".target-element").load("doc.html", null, function() {
var id = $(".target-element").find("#btn").attr("id");
});
答案 2 :(得分:-1)
this.id不是有效的我认为,从技术上来说也会选择错误的ID(#myIframe)
您需要this.children().attr('id');