火狐下无法获取iframe下的元素,请问各位如何解决

火狐下无法获取iframe下的元素,请问各位如何解决,第1张

您好!很高兴为您答疑。

首先,您要保证您的访问是没有跨域的,因为新的安全机制,这种js代码在跨域情况下是无效的。然后,在父窗口中获取iframe中的元素,可参考:

格式:$("#iframe的ID")contents()find("#iframe中的控件ID");

实例:$("#ifm")contents()find("#btnOk");

以上代码获取到的都是实例对象,请注意。

如果对我们的回答存在任何疑问,欢迎继续问询。

1、获取iframe

eg var ifr_window = windowframes["frameName"];

2、获取iframe中的元素

eg1 将iframe中id为elementId 的元素置为不显示:

var ifr_window = windowframes["frameName"];

ifr_windowelementIdstyledisplay = 'none';

eg2 获取iframe中id为listTable的表格

var oTable = windowframes["myFrame"]documentalllistTable;

3、隐藏或显示表格的某列

js函数:

function setHiddenOrShowCol(oTable, iCol, type) {

for (i = 0; i < oTablerowslength ; i++) {

oTablerows[i]cells[iCol]styledisplay = type;

}

}

调用举例,将id为listTable的表格元素的第4列置为不显示:

var oTable = windowframes["myFrame"]documentalllistTable;

setHiddenOrShowCol(oTable, 3, 'none');

调用举例2,将id为listTable的表格元素的第4列置为显示:

var oTable = documentframesmyFramedocumentalllistTable;

setHiddenOrShowCol(oTable, 3, 'block');

我看过你的页面,你是一个大框架,然后左边一个,右边一个。对于左右2个框架是平等的关系。你想要在左框架获取右框架的元素是不算跨域的。他们同属于一个父节点。所以,你只需要先调用父节点对象,然后从父节点访问子节点即可。

以上就是关于火狐下无法获取iframe下的元素,请问各位如何解决全部的内容,包括:火狐下无法获取iframe下的元素,请问各位如何解决、如何用JS获取iframe里面的内容、如何 跨域获取iframe 的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9437731.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存