5

Chrome 30.0.1599.101 を使用していますが、name要素に問題があります。プロパティがありません。

<html>
<body>
<form>
    <input name="name" id="name" type="text">*<br>
    <input name="pass" id="pass" type="text">*<br>
</form>

<script>

var name = document.getElementById("name");
var pass = document.getElementById("pass");

console.log(name); // no properties
console.log(pass); // everything ok

</script>
</body>
</html>

name要素にプロパティがないのはなぜですか? コンソールの問題だけではありません。コードでプロパティにアクセスできません。ただし、Firefox ブラウザーではすべて正常に動作します。同じブラウザーでまったく同じコードを使用した (Gurpreet Singh による) フィドルでも、すべてが機能します。Uoooが示唆するように、ブラウザをリセットしよ<!DOCTYPE html5>うとしましたが、localhostではまだ運がありません。

スクリーンショットは次のとおりです。

エラーのスクリーンショット

名前を別の名前に変更するnameと、プロパティが表示されます。

4

4 に答える 4

0

欠落<head>して<title>いる 、おそらくそれが役立つかもしれませんが、それらがないと無効な HTML です。

jsfiddle はこれらのタグを自動的に挿入します。これにより、ローカルでは機能するがそこで機能する理由を説明できます。

緑の矢印の答えに惑わされないでください。入力タグは閉じませんが、br は閉じません。その逆も同様です。XHTML のすべての単一タグを有効にするには閉じる必要がありますが、HTML4 と HTML5 では単一タグをまったく閉じません。

于 2013-10-23T10:58:56.107 に答える