微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

问题:

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

难点:

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

突破口:

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

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

添加组件

代码如下:
Box',parent.document.body).prepend('Box" id="show_img_title" class="cke_dialog_ui_hBox_first">照片标题描述带入日记

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

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

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

经验之谈:

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

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《

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

原文地址:https://www.jb51.cc/jquery/47792.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐