iframe中使用jquery進行查找的方法【案例分析】
本文實例講述了iframe中使用jquery進行查找的方法。分享給大家供大家參考,具體如下:
問題:
今天在公司是給ckeditor添加一個“是否顯示”圖片標題的功能
難點:
插件的內容很多,功能相當強大,在短時間之內無法通讀和理解里面的邏輯關系,而且修改的內容不能破壞插件內部的邏輯關系,不能因為添加一個功能而引入更多的問題,因此只能從局部去解決這個問題
突破口:
知道頁面時使用iframe框架插入的html,頁面有些初始化的功能是在這里完成的,因此在這里添加這個checkbox組件,然后根據最后的window去尋找自己想要處理的window對象——window.parent.document.body
jQuery(expression, [context])——如果指定了 context 參數,如一個 DOM 元素集或 jQuery 對象,那就會在這個 context 中查找。
下面這個例子就是想在iframe的父窗口中添加組件
不能在閉包里面去訪問動態(tài)添加的組件,因為在頁面加載的時候就已經運行了閉包里面的東西,但是頁面還沒有添加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+"組件符合查詢條件");
}
經驗之談:
在頁面中動態(tài)添加了組件之后,由于刷新頁面就恢復了正常初始化的狀態(tài),但是如果是局部刷新,可能會添加多個組件,但是如果只需要一個組件,則就是在離開頁面的時候刪除自己動態(tài)添加的組件,這樣問題就來了,可能在不同的瀏覽器中不能刪除,這樣就會很郁悶,產生出瀏覽器兼容的問題,既然是這樣那么可以換一種思維方式,在某種狀態(tài)(在標簽中添加屬性)下就添加,否則就不添加,這樣就不用去刪除自己添加的組件了,換種方式解決了瀏覽器兼容的問題
更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery常用插件及用法總結》、《jquery中Ajax用法總結》、《jQuery表格(table)操作技巧匯總》、《jQuery拖拽特效與技巧總結》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》及《jquery選擇器用法總結》
希望本文所述對大家jQuery程序設計有所幫助。
相關文章
Easyui ueditor 整合解決不能編輯的問題(推薦)
這篇文章主要介紹了Easyui ueditor 整合解決不能編輯的問題 ,需要的朋友可以參考下2017-06-06
jQuery利用DOM遍歷實現商城結算系統(tǒng)實戰(zhàn)
這篇文章主要介紹了jQuery利用DOM遍歷實現商城結算系統(tǒng)實戰(zhàn),文章圍繞主題展開詳細的內容介紹,具一定的參考價值,感興趣的小伙伴可以參考一下2022-06-06
解決jquery中動態(tài)新增的元素節(jié)點無法觸發(fā)事件問題的兩種方法
這篇文章主要分享了解決jquery中動態(tài)新增的元素節(jié)點無法觸發(fā)事件問題的兩種方法,感興趣的小伙伴們可以參考一下2015-10-10

