jQuery 操作FrameSet

最近突然用到了FrameSet傳值
饒懵了,弄了好久!最後問了朋友才摸到點頭緒
正趕上 現在 很迷 jQuery 就來總結下
看網上好像 相關的東西不太多
希望能給大家用上把

說先上來一段 FrameSet 層級的 代碼吧 

<FRAMESET name="main" frameSpacing=0 frameBorder=YES cols=180,* >
	<FRAMESET name="leftArea" frameSpacing=0 frameBorder=NO rows="700,*"  >
			<FRAME name="left" src="left.html" scrolling=no />
	</FRAMESET>
	<FRAMESET  name="rightArea" frameSpacing=0 frameBorder=NO rows="80,*" >
		<FRAME name="rightTop" src="right_top.html" scrolling=no />
		<FRAME name="CR1_TopFrame" src="right.html" scrolling=auto />
	</FRAMESET>
</FRAMESET>	

這裏首先要說的是 這裏需要有個name 用來找到對應的 frame ,id是可選的

現在 假定一種情況
要點擊 left.html 頁面,將裏面的值傳到rightTop頁面去
這是 同輩兄弟頁面間的傳值
看網上的 寫法是

Javascript代碼

window.parent.parent.frames["rightArea"].frames["rightTop"]

其實根本不用找到 rightArea 這個 FrameSet ,直接 frames["rightTop"]就可以了
這裏面 爬到最頂層,直接frames[目標frame的name] 就可以了


用jQuery的寫法是

Javascript代碼

jQuery(window.parent.parent.frames["rightTop"].document)

這樣就可以得到 這個頁面了 之後 就可以像操作 jquery 對象一樣操作了


普通 js 的寫法是

Javascript代碼

window.parent.parent.frames["rightTop"].方法()

這裏的方法 是 目標頁面內的js 方法 ,不要只寫名字,一定要加上()
而且還可以傳參數

先寫這些
以後再補

寫完這帖子有段時間了,有用到了這裏的東西,返回來看看,竟然發現自己都看不懂,先給自己兩嘴巴,接下來補充點東西~

在得到 目標頁面的JQuery對象 後通過 .find("選擇器"); 就可以相應對象了~

Javascript代碼

window.parent.parent.frames["rightTop"].find("#thisID");


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章