获取iframe中子页面的样式,要求兼容谷歌浏览器

目前iframe的id是right,该iframe会链接到一个页面,其中该页面中table的id为tableA,我想通过触发父页面来改变iframe调用页面的table的... 目前iframe的id是right,该iframe会链接到一个页面,其中该页面中table的id为tableA,我想通过触发父页面来改变iframe调用页面的table的宽度,目前获取该宽度的方法是$("#rigth").contents().find("#tableA").css('width');但是发现这个方法在谷歌浏览器不兼容,求一个兼容IE8+,火狐和谷歌浏览器的方法,谢谢。
另外,用JS和jQuery都可以,最好是jQuery,谢谢
展开
 我来答
旋风小魔头
2014-07-16 · TA获得超过114个赞
知道答主
回答量:54
采纳率:0%
帮助的人:67.6万
展开全部
  $(function(){
      $("#rigth").load(function(){
          console.log($(this).contents().find("#tableA").css('width'));
      });
  });

你要等iframe加载完毕之后再去获取,否则你获取的是空的元素


更多追问追答
追问
感觉很有道理,因为我打印出来的值确实为空,但是参考你的代码修改了一下,并没有效果…不知道什么原因
追答

不可能啊!我自己本地测试是可以的呀

<iframe src="link.html" width="300px" height="300px" id="frame"></iframe>

link.html文件的内容:

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<title>iframe的链接文件</title>
</head>
<body>
<div id="tip" style="width: 100px; border: 1px solid #000;padding: 2px 3px;">
锦江之星旅
</div>
</body>
</html>

使用如下js,可以改变link.html中div的宽度

$(function() {
$("#frame").load(function() {
var $tipDiv = $(this).contents().find("#tip");
console.log($tipDiv.css("width")); // 100px
$tipDiv.css("width", (parseInt($tipDiv.css("width")) * 2) + "px");
console.log($tipDiv.css("width")); // 200px
});
});
31YzXkx4
2014-07-16
知道答主
回答量:1
采纳率:0%
帮助的人:1358
展开全部
用document.write的方法生成iframe,顺便通过url把要修改的参数传过去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式