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

http://hyj1254.iteye.com/blog/643035 

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

Html代码    收藏代码
  1. 设有父页面:  
  2. <body>  
  3. <iframe id="myframeId" name="myframe" src="test.html"></iframe>  
  4. </body>  
  5. 子页面中设置了:  
  6. $('#mydata').data('key','hello world');  


则获取方式如下: 

Js代码    收藏代码
  1. var mydata,iJquery;  
  2. if(window.navigator.userAgent.indexOf("Firefox")>=1){  
  3.     iJquery=window.myframe.jQuery;  
  4.     mydata=(document.getElementById('myframeId')).contentDocument.getElementById('mydata');  
  5. }else if(window.navigator.userAgent.indexOf("MSIE")>=1){  
  6.          iJquery=(document.frames('myframe')).jQuery;  
  7.          mydata=(document.frames('myframe')).document.getElementById('mydata');  
  8. }  
  9. alert(iJquery.data(mydata,'key'));  


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

Java代码    收藏代码
    1. var iJquery=window.myframe.jQuery;  
    2. var $mydata=iJquery('#mydata');  
    3. alert(#mydata.data('key'));  
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值