获取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,谢谢 展开
另外,用JS和jQuery都可以,最好是jQuery,谢谢 展开
展开全部
$(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
});
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询