`
mmmzzc
  • 浏览: 109871 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类
最新评论

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页面去
这是 同辈兄弟页面间的传值
看网上的 写法是
window.parent.parent.frames["rightArea"].frames["rightTop"]
其实这么写是错误

其实根本不用找到 rightArea 这个 FrameSet ,直接 frames["rightTop"]就可以了
这里面 爬到最顶层,直接frames[目标frame的name] 就可以了

用jQuery的写法是
jQuery(window.parent.parent.frames["rightTop"].document)
这样就可以得到 这个页面了 之后 就可以像操作 jquery 对象一样操作了

普通 js 的写法是
window.parent.parent.frames["rightTop"].方法()


这里的方法 是 目标页面内的js 方法 ,不要只写名字,一定要加上()
而且还可以传参数

先写这些
以后再补

写完这帖子有段时间了,有用到了这里的东西,返回来看看,竟然发现自己都看不懂,先给自己两嘴巴,接下来补充点东西~

在得到 目标页面的JQuery对象 后通过 .find("选择器"); 就可以相应对象了~
window.parent.parent.frames["rightTop"].find("#thisID");

  • 大小: 88.9 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics