为什么document.forms[0]
返回一些东西(页面上的第一个表单),但document.getElementById("thediv").forms[0]
不返回任何内容?为什么不document.getElementById(“thediv”).forms [0]返回任何元素?
在一个更复杂的页面,我期望能够通过指定的ID来缩小浏览器的搜索范围为form
元素。
为什么document.forms[0]
返回一些东西(页面上的第一个表单),但document.getElementById("thediv").forms[0]
不返回任何内容?为什么不document.getElementById(“thediv”).forms [0]返回任何元素?
在一个更复杂的页面,我期望能够通过指定的ID来缩小浏览器的搜索范围为form
元素。
forms
是document
的财产。 document.getElementById
是一个返回HTMLElement对象的函数。这不具有称为表单的属性。看看jQuery,如果你想更多的逻辑JavaScript。
因为DOM元素对象only the document
object上没有这样的属性forms
。
表单仍然是同一页面内的表单,不管它们在文档树中的位置。如果您需要根据某个父元素获取页面上的一部分表单,则可能需要尝试像jQuery这样的库。
document.getElementById('thediv').getElementsByTagName('form')[0];
为什么不给你有兴趣在自己的ID的形式,然后就可以直接通过document.getElementById找到相关的表格形式ID。我对你的问题的猜测是,该文件有一个表格数组,但个别的div没有。 – jfriend00
@ jfriend00 - 有时候这肯定是一种选择,但在这种情况下,我无法更改客户端的标记。有了这个问题,我试图理解为什么一种方法有效,而另一种则不行。 ;) – KatieK