我的需求是一个父页面里面有一个Iframe,iframe子页面有一个easyui-tabs。当父页面加载完成后,关闭子页面的一个tab页。我的代码如下:
父页面代码
<script>
var iframe = document.getElementById("myframe");
 iframe.src="test.html";
 if (iframe.attachEvent){
 iframe.attachEvent("onload", function(){
 settabclose();
 });
 }else{
 
 iframe.onload = function(){
 $('#myframe').height(window.frames.myframe.document.body.scrollHeight+2);
 settabclose()
 };
 }
 function settabclose()
 {
var tabs1=$($(iframe)[0].contentWindow.document.getElementById('tb1'));
 abs('close',1);
tabs1.tabs('close',1);
 } 
 </script>
子页面 就是一个tabs
<div class="easyui-tabs" style="width:700px;height:250px" id="tb1">
 </div>
在父页面中是可以取得子页面tabs 对象的,但是
问题出在我一调用close 方法的时候easyui就会报错$.data() is undefined。
我换了一种关闭方式在子页面写一个方法
function closetest(title)
 {
 $('#tb1').tabs('close',title);
 }
然后在父页面调用
window.frames.myframe.closetest("My Documents");
这样 是可以实现效果的,但是为什么第一种会报错,我百思不得其解,望高手解答
(PS:如果将iframe 改成panel 也是可以实现效果的,如果在父页面的settabclose方法中加入
var tabs1=$($(iframe)[0].contentWindow.document.getElementById('tb1'));
 tabs1.tabs({onLoad:function(){alert(0);}});tabs就会重复加载
)