0

可能重复:
IE/Chrome:这里是 DOM 树元素全局变量吗?

描述:

您好,我刚刚注意到,当我在表单上使用 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>

问题:

这是否意味着在 from 上使用 id 实际上是一个非常糟糕的主意,还是我完全错了?

提前致谢。

4

2 回答 2

1

如果您的意思是它在浏览器控制台中可用,那就没问题了。这只是浏览器试图减轻书写痛苦的一种方式document.getElementById('test')。至少 Chrome 是这样。如果您打开 Chrome 控制台(例如在此页面上)并输入“sidebar”并按 Enter,您会看到它返回 id 为“sidebar”的 div。

直接回答您的问题:在表单(或任何其他节点)上使用 id 是完全正常的。

于 2012-12-03T13:34:42.553 回答
0

如果您的表格是身体的直接孩子,那是正常的。例如:

<body>
<form id="myForm" >
    <input type="file"/>
    <div>
        <form id="myForm2" >
            <input type="text" />
        </form>
    </div>
</form>
</body>

myForm 将作为全局变量提供。但 myForm2 将不可用。

于 2012-12-03T13:38:12.213 回答