javascript引用對象的方法

來源:互聯網
上載者:User

<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

方法多種多樣,有時候需要根據具體的情況而定,靈活運用才可以遊刃有餘。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.