0

重複の可能性:
IE / Chrome:DOMツリー要素はここでグローバル変数ですか?

説明:

こんにちは。フォームでIDを使用すると、この後、グローバル変数として使用できることに気付きました。これをFirefox17.0とGoogleChrome23.0の両方でMacでテストしました。これを見てちょっとびっくりしました!

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コンソールを開いて(たとえばこのページで)「サイドバー」と入力してEnterキーを押すと、IDが「サイドバー」の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 に答える