javascript引用對(duì)象的方法
更新時(shí)間:2007年01月11日 00:00:00 作者:
<a id="link1" name="link1" >51js</a>
=============
同一頁面內(nèi)的引用方法:
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,請(qǐng)參考MSDN介紹。其實(shí)方法3和方法4是一樣使用的集合,只是一個(gè)是all,可以包括頁面所有標(biāo)記,而anchors只包括鏈接。
5、getElementById:
document.getElementById("link1").href
6、getElementsByName:
document.getElementsByName("link1")[0].href //這也是一個(gè)集合,是所有name等于該方法所帶參數(shù)的標(biāo)記的集合
7、getElementsByTagName:
document.getElementsByTagName("A")[0].href //這也是一個(gè)集合,是所有標(biāo)記名稱等于該方法所帶參數(shù)的標(biāo)記的集合
8、tags集合:
document.all.tags("A")[0].href //與方法7一樣是按標(biāo)記名稱取得一個(gè)集合
除此之外,event.scrElement可以獲得觸發(fā)時(shí)間的標(biāo)記的引用;document.elementFromPoint(x,y)可以獲得x和y坐標(biāo)處的元素的引用;document.body.componentFromPoint(event.clientX,event.clientY)可以獲得鼠標(biāo)所在處元素的引用;還可以通過元素的父子節(jié)點(diǎn)和兄弟節(jié)點(diǎn)關(guān)系來引用,如nextSibling(當(dāng)前節(jié)點(diǎn)的后一節(jié)點(diǎn))、previousSibling(當(dāng)前節(jié)點(diǎn)的前一節(jié)點(diǎn))、childNodes、children、firstChild、lastChild、parentElement等都是父子節(jié)點(diǎn)和兄弟節(jié)點(diǎn)的一些引用;還不僅限于此。
上面是同一頁面內(nèi)的常見引用方法,另外還涉及到不同頁面中的
=============
對(duì)于分幀的頁面,可以使用parent.frames("幀的name")、top.frames("幀的name")來引用不同的幀,后面的引用和同一頁面內(nèi)市相同的,多重的parent也是支持的。
例如:
parent.frames("frame1").document.all.link1
top.frames("frame1").document.all.link1
=============
對(duì)于window.open()開的窗口,可以使用var newwin=window.open(),然后使用newwin來引用新窗口,后面的引用和同一頁面內(nèi)是相同的;新窗口可以使用window.opener來引用打開它的窗口,可以簡(jiǎn)寫作opener,例如:
var newwin=window.open()
父窗口(這里是使用window.open()方法的窗口):
newwin.document.all.link1 //父窗口這句可引用新窗口中的對(duì)象
子窗口(window.open()方法打開的窗口):
opener.document.all.link1 //子窗口這句可引用父窗口的對(duì)象
多重opener也是支持的,例如:opener.opener.document.all.link1
方法多種多樣,有時(shí)候需要根據(jù)具體的情況而定,靈活運(yùn)用才可以游刃有余。
=============
同一頁面內(nèi)的引用方法:
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,請(qǐng)參考MSDN介紹。其實(shí)方法3和方法4是一樣使用的集合,只是一個(gè)是all,可以包括頁面所有標(biāo)記,而anchors只包括鏈接。
5、getElementById:
document.getElementById("link1").href
6、getElementsByName:
document.getElementsByName("link1")[0].href //這也是一個(gè)集合,是所有name等于該方法所帶參數(shù)的標(biāo)記的集合
7、getElementsByTagName:
document.getElementsByTagName("A")[0].href //這也是一個(gè)集合,是所有標(biāo)記名稱等于該方法所帶參數(shù)的標(biāo)記的集合
8、tags集合:
document.all.tags("A")[0].href //與方法7一樣是按標(biāo)記名稱取得一個(gè)集合
除此之外,event.scrElement可以獲得觸發(fā)時(shí)間的標(biāo)記的引用;document.elementFromPoint(x,y)可以獲得x和y坐標(biāo)處的元素的引用;document.body.componentFromPoint(event.clientX,event.clientY)可以獲得鼠標(biāo)所在處元素的引用;還可以通過元素的父子節(jié)點(diǎn)和兄弟節(jié)點(diǎn)關(guān)系來引用,如nextSibling(當(dāng)前節(jié)點(diǎn)的后一節(jié)點(diǎn))、previousSibling(當(dāng)前節(jié)點(diǎn)的前一節(jié)點(diǎn))、childNodes、children、firstChild、lastChild、parentElement等都是父子節(jié)點(diǎn)和兄弟節(jié)點(diǎn)的一些引用;還不僅限于此。
上面是同一頁面內(nèi)的常見引用方法,另外還涉及到不同頁面中的
=============
對(duì)于分幀的頁面,可以使用parent.frames("幀的name")、top.frames("幀的name")來引用不同的幀,后面的引用和同一頁面內(nèi)市相同的,多重的parent也是支持的。
例如:
parent.frames("frame1").document.all.link1
top.frames("frame1").document.all.link1
=============
對(duì)于window.open()開的窗口,可以使用var newwin=window.open(),然后使用newwin來引用新窗口,后面的引用和同一頁面內(nèi)是相同的;新窗口可以使用window.opener來引用打開它的窗口,可以簡(jiǎn)寫作opener,例如:
var newwin=window.open()
父窗口(這里是使用window.open()方法的窗口):
newwin.document.all.link1 //父窗口這句可引用新窗口中的對(duì)象
子窗口(window.open()方法打開的窗口):
opener.document.all.link1 //子窗口這句可引用父窗口的對(duì)象
多重opener也是支持的,例如:opener.opener.document.all.link1
方法多種多樣,有時(shí)候需要根據(jù)具體的情況而定,靈活運(yùn)用才可以游刃有余。
您可能感興趣的文章:
- js函數(shù)的引用, 關(guān)于內(nèi)存的開銷
- 淺談JavaScript 函數(shù)參數(shù)傳遞到底是值傳遞還是引用傳遞
- 菜鳥學(xué)習(xí)JavaScript小實(shí)驗(yàn)之函數(shù)引用
- Javascript學(xué)習(xí)筆記之 函數(shù)篇(三) : 閉包和引用
- JavaScript對(duì)象參數(shù)的引用傳遞
- Js從頭學(xué)起(基本數(shù)據(jù)類型和引用類型的參數(shù)傳遞詳細(xì)分析)
- js中判斷Object、Array、Function等引用類型對(duì)象是否相等
- JavaScript 類的定義和引用 JavaScript高級(jí)培訓(xùn) 自定義對(duì)象
- JavaScript對(duì)象引用與賦值實(shí)例詳解
- javascript引用對(duì)象的方法代碼
- js中值引用和地址引用實(shí)例分析
相關(guān)文章
JavaScript 入門基礎(chǔ)知識(shí) 想學(xué)習(xí)js的朋友可以參考下
JavaScript 基礎(chǔ)知識(shí) 想學(xué)習(xí)js的朋友可以參考下2009-12-12
簡(jiǎn)略說明Javascript中的= =(等于)與= = =(全等于)區(qū)別
本篇文章簡(jiǎn)略說明了Javascript中的= =(等于)與= = =(全等于)區(qū)別,有需要的朋友可以參考一下2013-04-04
javascript 數(shù)組的定義和數(shù)組的長(zhǎng)度
本文主要介紹javascript 數(shù)組的定義和數(shù)組的長(zhǎng)度,比較簡(jiǎn)單,希望能給大家做一個(gè)參考。2016-06-06
javascript學(xué)習(xí)筆記(十八) 獲得頁面中的元素代碼
javascript學(xué)習(xí)筆記之獲得頁面中的元素代碼,需要的朋友可以參考下2012-06-06

