可能重复:
IE/Chrome: are DOM tree elements global variables here?
说明
您好我刚刚注意到,当我在表单上使用id时,它可用作全局变量 在这之后。我在Mac上测试了Firefox 17.0和Google Chrome 23.0。当我看到这个时,我有点意外!
HTML码:
<form class="input-form" id="test">
<label for="key">Key</label>
<input type="text" name="key">
</form>
问题:
这是否意味着在使用id或者我完全错误时使用id实际上是一个非常糟糕的主意?
提前致谢。
答案 0 :(得分:1)
如果你的意思是它在浏览器控制台中可用,那就好了。这只是浏览器试图减轻写作document.getElementById('test')
的痛苦的一种方式。至少就是Chrome的情况。如果您打开Chrome控制台(例如在此页面上)并输入“侧边栏”并按Enter键,您会看到它返回ID为“sidebar”的div。
直接回答您的问题:在表单(或任何其他节点)上使用id是完全正常的。
答案 1 :(得分:0)
如果您的表格是身体中的直接孩子,那么这是正常的。例如:
<body>
<form id="myForm" >
<input type="file"/>
<div>
<form id="myForm2" >
<input type="text" />
</form>
</div>
</form>
</body>
myForm将作为全局变量提供。但myForm2将无法使用。