获取子窗口中使用jQuery.data()设置的参数置的参数

   假设在iframe子窗口中设置了$('#mydata').data('key','hello world');
那在包含iframe的父页面中如何获取它呢?直接使用$('#mydata').data('key')是不行的。
    原因是:data()将数据存入了iframe页面的jQuery对象中,与父页面的jQuery对象无关。父页面中的$即jQuery对象,直接使用它显然无法获取。
    解决办法是:设法获取iframe页面中的jQuery对象,替换父页面中的jQuery。

设有父页面:
<body>iphone拍照小技巧
<iframe id="myframeId" name="myframe" src="test.html"></iframe>
</body>
子页面中设置了:
$('#mydata').data('key','hello world');

则获取方式如下:

var mydata,iJquery;
if(window.navigator.userAgent.indexOf("Firefox")>=1){
    iJquery=window.myframe.jQuery;
    mydata=(document.getElementById('myframeId')).contentDocument.getElementById('mydata');
}else if(window.navigator.userAgent.indexOf("MSIE")>=1){
         iJquery=(document.frames('myframe')).jQuery;
         mydata=(document.frames('myframe')).document.getElementById('mydata');
}
alert(iJquery.data(mydata,'key'));

=================== 商账追收
近来突然想到1种简便得多的方式:

var iJquery=window.myframe.jQuery;
var $mydata=iJquery('#mydata');
alert(#mydata.data('key'));

你可能感兴趣的:(jquery)