我可以在jQuery中调用其他网页的id吗?
我在我的主网页中有一个iframe,我向它发送不同的html页面。我想创建一个事件,在此期间,在iframe(第二个网页内)内的单击会触发主网页(iframe所在的网页)上的事件 因此,我的问题是:是否可以在jQuery中使用引用不同网页中id的选择器?我试着用我可以在jQuery中调用其他网页的id吗?,jquery,events,iframe,click,selector,Jquery,Events,Iframe,Click,Selector,我在我的主网页中有一个iframe,我向它发送不同的html页面。我想创建一个事件,在此期间,在iframe(第二个网页内)内的单击会触发主网页(iframe所在的网页)上的事件 因此,我的问题是:是否可以在jQuery中使用引用不同网页中id的选择器?我试着用 $("second_webpage.html#div1").click(function() { $("#image").css("display", ""); }); 但是没有成功 在jQuery中引用外部页
$("second_webpage.html#div1").click(function() {
$("#image").css("display", "");
});
但是没有成功
在jQuery中引用外部页面中的元素是否可能?还有其他的方法吗
提前谢谢 你需要确保两件事。iFrame需要在同一个域上,并且在执行Jquery之前需要完全加载iFrame 如果两者都适用,则可以使用contents()方法 编辑: 要确保加载iFrame,可以使用iFrame加载事件(在本例中为内联javascript): 函数onMyFrameLoad(){ 警报(“iFrame已加载”); }; 有关获取iFrame状态的源和其他方法,请参见此:
没有您的尝试那么简单。仅当iframe中的页面与主页来自同一域时,才能执行此操作。请澄清that@charlietfl是,iframe中的页面位于同一域中。你对如何解决这个问题有什么建议,或者有什么想法我需要搜索吗?嗨@Sirence,谢谢!一个问题:对于选择器,我是指iframe(例如“#iframe”)还是指网页本身(例如“second#u webpage.html”)。我尝试了iFrame本身,但它不起作用,但可能是出于另一个原因,当您将iFrame添加到页面时,您使用了“这是我以前尝试过的”。iframe没有一个固定的src=“…html”会有区别吗?我使用jQuery和attribute方法来更改src,因此在iFrame中打开不同的网页。源代码不应该与获取iFrame的选择器相关。但是,我相信如果您在iFrame中更改网页,您必须再次使用iFrame加载事件等待内容,然后才能将操作绑定到它。
$("#secondWebPageIFrame").contents().find("#div1").click(function() { ...
function onMyFrameLoad() {
alert('iFrame is loaded');
};
<iframe id="secondWebPageIFrame" src="..." onload="onMyFrameLoad(this)"></iframe>