什么被添加到`document`?

时间:2013-08-10 15:18:26

标签: html forms

我正在处理某个页面,发现他们有一个绑定到document的元素(例如document.formNameId)。我当时认为它必须是JavaScript并且无法找到设置它的地方,我删除了页面上的所有JavaScript。我仍然在文档中找到了元素名称。

使用它后,似乎form具有名称属性集的元素将添加到document。是否有任何其他默认绑定的元素?

编辑:

进一步检查后,您甚至可以通过相同的API在该表单元素中找到元素。

所以如果我做这样的事情来获得一个输入元素:document.formName.inputName

Check this example out.

2 个答案:

答案 0 :(得分:2)

是的,这些被称为(在HTML5中)Named Properties

规范中的描述说:

  

Document接口支持命名属性。支持   任何时刻的属性名称都包含名称内容的值   所有小程序的属性,公开嵌入表单 iframe img ,和   在文档中公开具有非空名称的对象元素   内容属性,以及所有内容属性的值   文档中的applet和公开的对象元素   非空id内容属性,以及id内容的值   Document中包含两者的所有img元素的属性   非空名称内容属性和非空id内容属性。   支持的属性名称必须采用树顺序,稍后将忽略   重复,来自id属性的值来自值之前   当同一元素同时贡献时,命名属性。

所以这些都发生在很多元素上。在上面的链接中还有一个关于如何确定这些属性的值的描述,包括表单的方式,它将成为表单上控件的列表。

答案 1 :(得分:0)

https://developer.mozilla.org/en-US/docs/Web/API/document可以很好地了解document对象的所有属性和方法。

[已废弃:document.formNameId在那里丢失,我在这个网站上找不到它,所以它似乎不是默认属性,而是由脚本添加(快速谷歌搜索“document.formnameid”仅列出此项stackoverflow问题)。]