当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript引用对象的方法

Javascript
用户注册常用javascript代码
JavaScript 事件监听实例代码[兼容IE,firefox] 含注释
javascript appendChild,innerHTML,join性能比较代码
JavaScript 继承详解 第一篇
javascript 控制 html元素 显示/隐藏实现代码
Javascript 判断函数类型完美解决方案
获取URL地址中的文件名和参数的javascript代码
js 获取浏览器高度和宽度值(多浏览器)
FF IE兼容性的修改小结
JS URL传中文参数引发的乱码问题
javascript 24小时弹出一次的代码(利用cookies)
ie focus bug 解决方法
javascript concat数组累加 示例
javascript 触发事件列表 比较不错
当文本框的值发生改变时,触发事件,在IE中有效
javascript 操作table的特性
jquery判断单个复选框是否被选中的代码
关于javascript中的parseInt使用技巧
JavaScript 密码强度判断代码
js跨域和ajax 跨域问题的实现思路

Javascript 中的 javascript引用对象的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 253 ::
收藏到网摘: n/a

<a id="link1" name="link1" href="http://bbs.51js.com/">51js</a>
=============
同一页面内的引用方法:
1、使用id:
link1.href
2、使用name:
document.all.link1.href
3、使用sourseIndex:
document.all(4).href //注意,前面还有HTML、HEAD、TITLE和BODY,所以是4
4、使用链接集合:
document.anchors(0).href //全部的集合有all、anchors、applets、areas、attributes、behaviorUrns、bookmarks、boundElements、cells、childNodes、children、controlRange、elements、embeds、filters、forms、frames、images、imports、links、mimeTypes、options、plugins、rows、rules、scripts、styleSheets、tBodies、TextRectangle,请参考MSDN介绍。其实方法3和方法4是一样使用的集合,只是一个是all,可以包括页面所有标记,而anchors只包括链接。
5、getElementById:
document.getElementById("link1").href
6、getElementsByName:
document.getElementsByName("link1")[0].href //这也是一个集合,是所有name等于该方法所带参数的标记的集合
7、getElementsByTagName:
document.getElementsByTagName("A")[0].href //这也是一个集合,是所有标记名称等于该方法所带参数的标记的集合
8、tags集合:
document.all.tags("A")[0].href //与方法7一样是按标记名称取得一个集合
除此之外,event.scrElement可以获得触发时间的标记的引用;document.elementFromPoint(x,y)可以获得x和y坐标处的元素的引用;document.body.componentFromPoint(event.clientX,event.clientY)可以获得鼠标所在处元素的引用;还可以通过元素的父子节点和兄弟节点关系来引用,如nextSibling(当前节点的后一节点)、previousSibling(当前节点的前一节点)、childNodes、children、firstChild、lastChild、parentElement等都是父子节点和兄弟节点的一些引用;还不仅限于此。
上面是同一页面内的常见引用方法,另外还涉及到不同页面中的
=============
对于分帧的页面,可以使用parent.frames("帧的name")、top.frames("帧的name")来引用不同的帧,后面的引用和同一页面内市相同的,多重的parent也是支持的。
例如:
parent.frames("frame1").document.all.link1
top.frames("frame1").document.all.link1
=============
对于window.open()开的窗口,可以使用var newwin=window.open(),然后使用newwin来引用新窗口,后面的引用和同一页面内是相同的;新窗口可以使用window.opener来引用打开它的窗口,可以简写作opener,例如:
var newwin=window.open()
父窗口(这里是使用window.open()方法的窗口):
newwin.document.all.link1 //父窗口这句可引用新窗口中的对象
子窗口(window.open()方法打开的窗口):
opener.document.all.link1 //子窗口这句可引用父窗口的对象
多重opener也是支持的,例如:opener.opener.document.all.link1

方法多种多样,有时候需要根据具体的情况而定,灵活运用才可以游刃有余。