javascript引用對象的方法
更新時間: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,請參考MSDN介紹。其實(shí)方法3和方法4是一樣使用的集合,只是一個是all,可以包括頁面所有標(biāo)記,而anchors只包括鏈接。
5、getElementById:
document.getElementById("link1").href
6、getElementsByName:
document.getElementsByName("link1")[0].href //這也是一個集合,是所有name等于該方法所帶參數(shù)的標(biāo)記的集合
7、getElementsByTagName:
document.getElementsByTagName("A")[0].href //這也是一個集合,是所有標(biāo)記名稱等于該方法所帶參數(shù)的標(biāo)記的集合
8、tags集合:
document.all.tags("A")[0].href //與方法7一樣是按標(biāo)記名稱取得一個集合
除此之外,event.scrElement可以獲得觸發(fā)時間的標(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)的常見引用方法,另外還涉及到不同頁面中的
=============
對于分幀的頁面,可以使用parent.frames("幀的name")、top.frames("幀的name")來引用不同的幀,后面的引用和同一頁面內(nèi)市相同的,多重的parent也是支持的。
例如:
parent.frames("frame1").document.all.link1
top.frames("frame1").document.all.link1
=============
對于window.open()開的窗口,可以使用var newwin=window.open(),然后使用newwin來引用新窗口,后面的引用和同一頁面內(nèi)是相同的;新窗口可以使用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
方法多種多樣,有時候需要根據(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,請參考MSDN介紹。其實(shí)方法3和方法4是一樣使用的集合,只是一個是all,可以包括頁面所有標(biāo)記,而anchors只包括鏈接。
5、getElementById:
document.getElementById("link1").href
6、getElementsByName:
document.getElementsByName("link1")[0].href //這也是一個集合,是所有name等于該方法所帶參數(shù)的標(biāo)記的集合
7、getElementsByTagName:
document.getElementsByTagName("A")[0].href //這也是一個集合,是所有標(biāo)記名稱等于該方法所帶參數(shù)的標(biāo)記的集合
8、tags集合:
document.all.tags("A")[0].href //與方法7一樣是按標(biāo)記名稱取得一個集合
除此之外,event.scrElement可以獲得觸發(fā)時間的標(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)的常見引用方法,另外還涉及到不同頁面中的
=============
對于分幀的頁面,可以使用parent.frames("幀的name")、top.frames("幀的name")來引用不同的幀,后面的引用和同一頁面內(nèi)市相同的,多重的parent也是支持的。
例如:
parent.frames("frame1").document.all.link1
top.frames("frame1").document.all.link1
=============
對于window.open()開的窗口,可以使用var newwin=window.open(),然后使用newwin來引用新窗口,后面的引用和同一頁面內(nèi)是相同的;新窗口可以使用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
方法多種多樣,有時候需要根據(jù)具體的情況而定,靈活運(yùn)用才可以游刃有余。
您可能感興趣的文章:
- js函數(shù)的引用, 關(guān)于內(nèi)存的開銷
- 淺談JavaScript 函數(shù)參數(shù)傳遞到底是值傳遞還是引用傳遞
- 菜鳥學(xué)習(xí)JavaScript小實(shí)驗(yàn)之函數(shù)引用
- Javascript學(xué)習(xí)筆記之 函數(shù)篇(三) : 閉包和引用
- JavaScript對象參數(shù)的引用傳遞
- Js從頭學(xué)起(基本數(shù)據(jù)類型和引用類型的參數(shù)傳遞詳細(xì)分析)
- js中判斷Object、Array、Function等引用類型對象是否相等
- JavaScript 類的定義和引用 JavaScript高級培訓(xùn) 自定義對象
- JavaScript對象引用與賦值實(shí)例詳解
- javascript引用對象的方法代碼
- js中值引用和地址引用實(shí)例分析
相關(guān)文章
JavaScript之?dāng)?shù)組(Array)詳解
這篇文章主要介紹了JavaScript之?dāng)?shù)組(Array)詳解,本文詳細(xì)講解了JavaScript數(shù)組的創(chuàng)建、檢測數(shù)組、轉(zhuǎn)化方法、棧方法、隊(duì)列方法、重排序方法、操作方法、位置方法等內(nèi)容,需要的朋友可以參考下2015-04-04JavaScript中也使用$美元符號來代替document.getElementById
JavaScript可以定義$符號函數(shù),簡寫或書寫兼容性更好的代碼。2010-06-06JavaScript italics方法入門實(shí)例(把字符串顯示為斜體)
這篇文章主要介紹了JavaScript italics方法入門實(shí)例,italics方法用于把字符串顯示為斜體,需要的朋友可以參考下2014-10-10Javascript核心讀書有感之表達(dá)式和運(yùn)算符
這篇文章主要介紹了Javascript核心讀書有感之表達(dá)式和運(yùn)算符,十分詳細(xì),需要的朋友可以參考下2015-02-02移動端自適應(yīng)flexible.js的使用方法(不用三大框架,僅寫一個單html頁面使用)推薦
這篇文章主要介紹了移動端自適應(yīng)flexible.js使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04js nextSibling屬性和previousSibling屬性概述及使用注意
nextSibling屬性:該屬性表示當(dāng)前節(jié)點(diǎn)的下一個節(jié)點(diǎn);如果其后沒有與其同級的節(jié)點(diǎn),則返回null;previousSibling屬性:該屬性與nextSibling屬性的作用正好相反,接下來將詳細(xì)介紹下,感興趣的你不妨了解下哦,或許對你有所幫助2013-02-02