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

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

2013-06-27 12:12 281 查看
/article/4104614.html

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

Html代码



设有父页面:

<body>

<iframe id="myframeId" name="myframe" src="test.html"></iframe>

</body>

子页面中设置了:

$('#mydata').data('key','hello world');

则获取方式如下:

Js代码



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种简便得多的方式:

Java代码



var iJquery=window.myframe.jQuery;

var $mydata=iJquery('#mydata');

alert(#mydata.data('key'));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: