假设在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'));
分享到:
相关推荐
1. **使用`window.opener`属性**:在子窗口中,可以通过`window.opener`访问到父窗口的对象,然后设置或获取父窗口的变量。例如: ```javascript window.opener.someVariable = '传递的数据'; ``` 2. **使用`...
在网页开发中,jQuery 是一个广泛使用的 JavaScript 库,它极大地简化了 JavaScript 的操作,包括创建动态和交互式的用户界面。本篇文章将深入探讨 jQuery 中的弹出窗口功能,以及如何利用 AJAX 进行数据异步加载。...
在jQuery中,使用Ajax主要涉及以下几个方法: 1. `$.ajax()`: 这是最通用的Ajax方法,可以完全自定义请求的所有参数,如URL、数据类型、请求类型(GET或POST)、回调函数等。 ```javascript $.ajax({ url: 'your-...
13. **获取窗口宽度**:`.width()`用于获取元素或窗口的宽度。 14. **事件绑定**:`.bind(type, fn)`用于绑定事件处理器,`.one(type, fn)`只触发一次,`.trigger(type)`用于触发事件。 15. **远程数据加载**:`$....
要从父页面获取子页面中的`DateTextBox`值,我们可以利用JavaScript的`window.frames`对象。`window.frames`是一个数组,包含了当前窗口中所有`frame`或`iframe`的引用。在这个例子中,我们可以通过索引访问到`...
7. **设置IE特性**:针对IE浏览器,可以使用jQuery的特性检测和模拟功能,比如`$.support`。 8. **replaceWith()**:用新的元素替换现有元素,如`$("#oldElement").replaceWith("<div id='newElement'></div>")`。 ...
要在HTML页面中使用JQuery,你需要在页面的`<head>`部分引入JQuery文件: ```html <script type="text/javascript" src="path/to/jquery.js"> ``` 这里假设`jquery.js`已经正确放置在了指定路径下。 #### 三、...
AJAX 中使用 DOM 对象 在Ajax响应处理中,可以利用DOM对象操作返回的数据。例如,将新内容插入到页面某个元素中: ```javascript $.get('your-url', function(data) { var $newContent = $(data); $('#target...
JQueryEasyUI是基于jQuery的一个轻量级且易于使用的UI库,它提供了多种可定制的组件,包括表格、对话框、窗口、树等,极大地简化了前端开发工作。 异步Tree是JQueryEasyUI中的一个重要组成部分,它允许通过Ajax方式...
- 如果没有子菜单,则直接设置链接地址,并根据菜单项的目标属性(`target`)决定是否在新窗口打开页面。 3. **子菜单绘制**: - `drawChildren`函数用于递归地绘制子菜单。 - 当前菜单项如果有子菜单,则调用此...
JavaScript跨域访问是Web开发中常见的一种挑战,由于浏览器的同源策略限制,一个域上的脚本不能直接获取或操作另一个域上的资源。为了解决这个问题,开发者通常采用以下三种主要方法:1. 基于iframe实现跨域2. JSONP...
在Web开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于实现页面的异步更新,提高用户体验。...在实际项目中,还可以结合其他技术,如jQuery、Vue.js等,简化Ajax的使用,让开发更高效。
在父窗体中,`showModalDialog` 的返回值就是子窗体设置的`window.returnValue`,这样就可以获取到子窗体传递的数据: ```javascript var dialogResult = window.showModalDialog(...); console.log(dialogResult);...
在这个例子中,子页面通过`window.opener`获取到父页面的引用,并修改了父页面文本框的值。 二、子页面是iframe框架中的页面情况 如果子页面是作为iframe嵌入在父页面中,我们可以通过`parent`关键字来访问父页面...
本文将详细介绍如何使用Jquery EasyUI的tree组件实现异步加载,即将遍历指定的文件夹,并根据文件夹内的文件和子文件夹动态生成tree结构。 在讲解Jquery EasyUI tree的异步加载之前,需要理解tree组件的基本概念。...
`Cross.call(win, domain, signal, data, callbackfunc)`参数包括目标窗口对象`win`、目标域`domain`、信号`signal`、要传递的数据`data`以及可选的回调函数`callbackfunc`。 3. 事件监听器:监听`message`事件,当...
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 ...
3. **兼容性问题**:`showModalDialog`方法在现代浏览器中的支持并不一致,可能需要寻找替代方案或使用库如jQuery来增强兼容性。 4. **用户体验**:考虑到用户体验,应该尽量减少弹出窗口的使用频率,并确保其逻辑...
3. **数据存储与传递**:在拖拽过程中,我们需要保存图片的初始位置和当前鼠标位置,这可以通过jQuery的`data()`方法实现。同时,`event`对象也可以传递这些信息,确保拖放操作的连续性。 4. **动画效果**:jQuery...