最近突然用到了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");