`
hyj1254
  • 浏览: 341125 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
   假设在iframe子窗口中设置了$('#mydata').data('key','hello world');
那在包含iframe的父页面中如何获取它呢?直接使用$('#mydata').data('key')是不行的。
    原因是:data()将数据存入了iframe页面的jQuery对象中,与父页面的jQuery对象无关。父页面中的$即jQuery对象,直接使用它显然无法获取。
    解决办法是:设法获取iframe页面中的jQuery对象,替换父页面中的jQuery。
设有父页面:
<body>
<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'));
3
0
分享到:
评论
3 楼 hyj1254 2010-12-22  
不错,你这种方式很好。
2 楼 waiting 2010-12-21  
第二种方法:
var elm = $(window.myframe.document).find(selector);
var data = elm.data('key');
1 楼 waiting 2010-12-21  
var elm = $(selector, window.myframe.document);
var data = elm.data('key');

"window.myframe.document"可以替换成子窗口对象变量。

相关推荐

    jquery弹出层

    1. **使用`window.opener`属性**:在子窗口中,可以通过`window.opener`访问到父窗口的对象,然后设置或获取父窗口的变量。例如: ```javascript window.opener.someVariable = '传递的数据'; ``` 2. **使用`...

    Jquery弹出窗口,带例子参数说明 非常好用

    在网页开发中,jQuery 是一个广泛使用的 JavaScript 库,它极大地简化了 JavaScript 的操作,包括创建动态和交互式的用户界面。本篇文章将深入探讨 jQuery 中的弹出窗口功能,以及如何利用 AJAX 进行数据异步加载。...

    js_ajax_jquery笔记.docx

    在jQuery中,使用Ajax主要涉及以下几个方法: 1. `$.ajax()`: 这是最通用的Ajax方法,可以完全自定义请求的所有参数,如URL、数据类型、请求类型(GET或POST)、回调函数等。 ```javascript $.ajax({ url: 'your-...

    精选jQuery试题及答案.pdf

    13. **获取窗口宽度**:`.width()`用于获取元素或窗口的宽度。 14. **事件绑定**:`.bind(type, fn)`用于绑定事件处理器,`.one(type, fn)`只触发一次,`.trigger(type)`用于触发事件。 15. **远程数据加载**:`$....

    iframe父页面获取子页面参数的方法

    要从父页面获取子页面中的`DateTextBox`值,我们可以利用JavaScript的`window.frames`对象。`window.frames`是一个数组,包含了当前窗口中所有`frame`或`iframe`的引用。在这个例子中,我们可以通过索引访问到`...

    60个实用的jQuery代码片段.pdf

    7. **设置IE特性**:针对IE浏览器,可以使用jQuery的特性检测和模拟功能,比如`$.support`。 8. **replaceWith()**:用新的元素替换现有元素,如`$("#oldElement").replaceWith("&lt;div id='newElement'&gt;&lt;/div&gt;")`。 ...

    JQuery基础入门

    要在HTML页面中使用JQuery,你需要在页面的`&lt;head&gt;`部分引入JQuery文件: ```html &lt;script type="text/javascript" src="path/to/jquery.js"&gt; ``` 这里假设`jquery.js`已经正确放置在了指定路径下。 #### 三、...

    WEB基础_Ajax_jQuery

    AJAX 中使用 DOM 对象 在Ajax响应处理中,可以利用DOM对象操作返回的数据。例如,将新内容插入到页面某个元素中: ```javascript $.get('your-url', function(data) { var $newContent = $(data); $('#target...

    JQueryEasyUI学习笔记(十五)异步tree 源码

    JQueryEasyUI是基于jQuery的一个轻量级且易于使用的UI库,它提供了多种可定制的组件,包括表格、对话框、窗口、树等,极大地简化了前端开发工作。 异步Tree是JQueryEasyUI中的一个重要组成部分,它允许通过Ajax方式...

    基于struts jquery实现的动态加载树形菜单

    - 如果没有子菜单,则直接设置链接地址,并根据菜单项的目标属性(`target`)决定是否在新窗口打开页面。 3. **子菜单绘制**: - `drawChildren`函数用于递归地绘制子菜单。 - 当前菜单项如果有子菜单,则调用此...

    javascript跨域访问的方法.docx

    JavaScript跨域访问是Web开发中常见的一种挑战,由于浏览器的同源策略限制,一个域上的脚本不能直接获取或操作另一个域上的资源。为了解决这个问题,开发者通常采用以下三种主要方法:1. 基于iframe实现跨域2. JSONP...

    Ajax示例,父子窗体传

    在Web开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于实现页面的异步更新,提高用户体验。...在实际项目中,还可以结合其他技术,如jQuery、Vue.js等,简化Ajax的使用,让开发更高效。

    利用模态对话框实现父窗体、子窗体间传值

    在父窗体中,`showModalDialog` 的返回值就是子窗体设置的`window.returnValue`,这样就可以获取到子窗体传递的数据: ```javascript var dialogResult = window.showModalDialog(...); console.log(dialogResult);...

    JS父页面与子页面相互传值方法

    在这个例子中,子页面通过`window.opener`获取到父页面的引用,并修改了父页面文本框的值。 二、子页面是iframe框架中的页面情况 如果子页面是作为iframe嵌入在父页面中,我们可以通过`parent`关键字来访问父页面...

    详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)

    本文将详细介绍如何使用Jquery EasyUI的tree组件实现异步加载,即将遍历指定的文件夹,并根据文件夹内的文件和子文件夹动态生成tree结构。 在讲解Jquery EasyUI tree的异步加载之前,需要理解tree组件的基本概念。...

    jQuery实现跨域iframe接口方法调用

    `Cross.call(win, domain, signal, data, callbackfunc)`参数包括目标窗口对象`win`、目标域`domain`、信号`signal`、要传递的数据`data`以及可选的回调函数`callbackfunc`。 3. 事件监听器:监听`message`事件,当...

    (全)传智播客PHP就业班视频完整课程

    10-27 5 jquery属性操作 获取子元素和兄弟元素的方法 10-27 6 练习题讲解 10-27 7 jquery和ajax整合使用的方法 10-29 1 svn安装及常用操作 10-29 2 svn常用操作 实例讲解1 10-29 3 svn常用操作 实例讲解2 10-29 4 ...

    Asp.Net从零开始30(页面传值2)

    3. **兼容性问题**:`showModalDialog`方法在现代浏览器中的支持并不一致,可能需要寻找替代方案或使用库如jQuery来增强兼容性。 4. **用户体验**:考虑到用户体验,应该尽量减少弹出窗口的使用频率,并确保其逻辑...

    jquery虚拟桌面图片拖拽特效代码

    3. **数据存储与传递**:在拖拽过程中,我们需要保存图片的初始位置和当前鼠标位置,这可以通过jQuery的`data()`方法实现。同时,`event`对象也可以传递这些信息,确保拖放操作的连续性。 4. **动画效果**:jQuery...

Global site tag (gtag.js) - Google Analytics