2011-07-15 43 views
1

爲什麼document.forms[0]返回一些東西(頁面上的第一個表單),但document.getElementById("thediv").forms[0]不返回任何內容?爲什麼不document.getElementById(「thediv」).forms [0]返回任何元素?

Example JSFiddle

在一個更復雜的頁面,我期望能夠通過指定的ID來縮小瀏覽器的搜索範圍爲form元素。

+0

爲什麼不給你有興趣在自己的ID的形式,然後就可以直接通過document.getElementById找到相關的表格形式ID。我對你的問題的猜測是,該文件有一個表格數組,但個別的div沒有。 – jfriend00

+0

@ jfriend00 - 有時候這肯定是一種選擇,但在這種情況下,我無法更改客戶端的標記。有了這個問題,我試圖理解爲什麼一種方法有效,而另一種則不行。 ;) – KatieK

回答

2

formsdocument的財產。 document.getElementById是一個返回HTMLElement對象的函數。這不具有稱爲表單的屬性。看看jQuery,如果你想更多的邏輯JavaScript。

2

因爲DOM元素對象only the document object上沒有這樣的屬性forms

表單仍然是同一頁面內的表單,不管它們在文檔樹中的位置。如果您需要根據某個父元素獲取頁面上的一部分表單,則可能需要嘗試像jQuery這樣的庫。

2
document.getElementById('thediv').getElementsByTagName('form')[0]; 
相關問題