欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jQuery 操作FrameSet

程序员文章站 2022-03-26 21:01:59
...
最近突然用到了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");

  • jQuery 操作FrameSet
            
    
    博客分类: HtmlJSjquery  
  • 大小: 88.9 KB