我正在处理某个页面,发现他们有一个绑定到document
的元素(例如document.formNameId
)。我当时认为它必须是JavaScript并且无法找到设置它的地方,我删除了页面上的所有JavaScript。我仍然在文档中找到了元素名称。
使用它后,似乎form
具有名称属性集的元素将添加到document
。是否有任何其他默认绑定的元素?
进一步检查后,您甚至可以通过相同的API在该表单元素中找到元素。
所以如果我做这样的事情来获得一个输入元素:document.formName.inputName
答案 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问题)。]