您的位置:首页 > Web前端 > JQuery

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

2011-06-07 09:38 381 查看
假设在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'));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: