iframe中使用jquery进行查找的方法【案例分析】


Posted in Javascript onJune 17, 2016

本文实例讲述了iframe中使用jquery进行查找的方法。分享给大家供大家参考,具体如下:

问题:

今天在公司是给ckeditor添加一个“是否显示”图片标题的功能

难点:

插件的内容很多,功能相当强大,在短时间之内无法通读和理解里面的逻辑关系,而且修改的内容不能破坏插件内部的逻辑关系,不能因为添加一个功能而引入更多的问题,因此只能从局部去解决这个问题

突破口:

知道页面时使用iframe框架插入的html,页面有些初始化的功能是在这里完成的,因此在这里添加这个checkbox组件,然后根据最后的window去寻找自己想要处理的window对象——window.parent.document.body

jQuery(expression, [context])——如果指定了 context 参数,如一个 DOM 元素集或 jQuery 对象,那就会在这个 context 中查找。

下面这个例子就是想在iframe的父窗口中添加组件

$('tr.cke_dialog_ui_hbox', parent.document.body).prepend('<td><input type="checkbox" id="show_img_title" class="cke_dialog_ui_hbox_first">照片标题描述带入日记</td>');

不能在闭包里面去访问动态添加的组件,因为在页面加载的时候就已经运行了闭包里面的东西,但是页面还没有添加ID为kkkk的组件,使用$("#kkkk")得到的值就为空,这样不能实现预期的目的,出现异常的现象,在浏览器中会报脚本错误

如何判断jquery是否查找到符合条件的对象?

if(0==$(".check_show_img_title", parent.document.body).length){
   alert("没有查找到对象");
}else{
  alert("有"+$(".check_show_img_title", parent.document.body).length+"组件符合查询条件");
}

经验之谈:

在页面中动态添加了组件之后,由于刷新页面就恢复了正常初始化的状态,但是如果是局部刷新,可能会添加多个组件,但是如果只需要一个组件,则就是在离开页面的时候删除自己动态添加的组件,这样问题就来了,可能在不同的浏览器中不能删除,这样就会很郁闷,产生出浏览器兼容的问题,既然是这样那么可以换一种思维方式,在某种状态(在标签中添加属性)下就添加,否则就不添加,这样就不用去删除自己添加的组件了,换种方式解决了浏览器兼容的问题

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 图片预览效果 推荐
Dec 22 Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 Javascript
jquery操作复选框checkbox的方法汇总
Feb 05 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
Apr 15 Javascript
javascript判断数组内是否重复的方法
Apr 21 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
Sep 24 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
May 28 Javascript
jquery Ajax实现Select动态添加数据
Jun 08 jQuery
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
微信小程序倒计时功能实现代码
Nov 09 Javascript
js 实现复选框只能选择一项的示例代码
Jan 23 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
May 10 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
Jun 17 #Javascript
jquery.qtip提示信息插件用法简单实例
Jun 17 #Javascript
jQuery实现区域打印功能代码详解
Jun 17 #Javascript
javascript日期比较方法实例分析
Jun 17 #Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
Jun 17 #Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
Jun 17 #Javascript
JavaScript简单实现弹出拖拽窗口(二)
Jun 17 #Javascript
You might like
使用PHP生成二维码的方法汇总
2015/07/22 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
JS获取页面input控件中所有text控件并追加样式属性
2013/02/25 Javascript
js通过地址栏给action传值(中文乱码全是问号)
2013/05/02 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
Python pass 语句使用示例
2014/03/11 Python
用python写的一个wordpress的采集程序
2016/02/27 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
Python常用外部指令执行代码实例
2020/11/05 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
总会计师岗位职责
2014/02/19 职场文书
《乞巧》教学反思
2014/02/27 职场文书
环保建议书200字
2014/05/14 职场文书
整改落实自查报告
2014/11/05 职场文书
考察邀请函范文
2015/01/31 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技