无法获取表单的值's在某些条件下的id
Impossible to get the value of a form's id in certains conditions
当<form>
中的<input>
或<img>
具有以"id"为值的id或名称时,似乎不可能获得<form>
的id的预期值。
示例:
<form id="test">
<input id="id" />
</form>
调用document.querySelector('form').id
返回HTMLInputElement
而不是"test"
。
以下是一个JSFiddle:http://jsfiddle.net/zyy54jmj/6/
你知道为什么会这样吗?有办法解决这个问题吗?
谢谢。
在DOM属性方面,"无效"名称和"已取"名称之间存在差异。
所有这些都是可以在FORM元素上找到的有效方法/属性(由于接口继承),并且所有这些方法/属性都可以被相同名称的字段覆盖。因此,我建议避免使用这些名称,以免遇到意外冲突:
ELEMENT_NODE
ATTRIBUTE_NODE
TEXT_NODE
CDATA_SECTION_NODE
ENTITY_REFERENCE_NODE
ENTITY_NODE
PROCESSING_INSTRUCTION_NODE
COMMENT_NODE
DOCUMENT_NODE
DOCUMENT_TYPE_NODE
DOCUMENT_FRAGMENT_NODE
NOTATION_NODE
nodeName
nodeValue
nodeType
parentNode
childNodes
firstChild
lastChild
previousSibling
nextSibling
attributes
ownerDocument
insertBefore
replaceChild
removeChild
appendChild
hasChildNodes
cloneNode
normalize
isSupported
namespaceURI
prefix
localName
hasAttributes
id
title
lang
dir
className
elements
length
name
acceptCharset
action
enctype
method
target
submit
reset
item
namedItem
好吧,你可以得到这样一个元素的任何属性值:
var x = document.querySelectorAll('element')[0].getAttribute("attribute")
在这种情况下,它是一个表单的id,所以
var formId = document.querySelectorAll('form')[0].getAttribute("id")
这将有助于了解你正在努力实现什么,因为这不是一个好的做法。您基本上是在遍历整个DOM以找到表单的id并如何使用它?
相关文章:
- html+javascript:如何在某些条件下禁用dropdownlist中的null选项
- 在特定条件下从存储在localStorage中的阵列中删除对象
- 如何在一定条件下使必填字段为真
- 如何在特定条件下完全禁用FullPage.js
- 在条件下使用 slideUp() 和 slideDown()
- 停止计算以在特定条件下更新
- 如何加载特定天气条件下的图标?(AngularJS)
- 比较IF条件下的两个javascript数值
- ComboBox typeAhead有效,但在某些行为条件下valueField为空
- 如何获取id并在ror中基于该id显示下一个字段
- 返回三元条件下的新promise Q
- jqgrid在条件下动态设置单元格可编辑false
- innerHTML在else条件下未更改
- 如何在两种条件下显示相同的上下文菜单项
- Regex用于在特定条件下为新句子添加空格或句号
- HTML页面在使用JavaScript的条件下重新加载
- 保持函数在一定条件下执行
- 无法获取表单的值's在某些条件下的id
- 如何在量角器中获取id值并在此条件下使用
- 在单个条件下检查滚动顶部和 id 偏移量