2017-04-19 3 views
-1
console.log(document.getElementsByTagName("input").length); 

が0を出力しています。私は、ページがロードされていないと言ってオンラインで多くの提案を見つけましたが、そうではありません。私はロードされたページでコンソールを介してコードを実行しています(そして、私はすでにオンロードを試みました)。しかしここにキャッチがあります:JavaScript getElementsByTagNameが正しく機能しない

初めてページをロードしてコンピュータで実行すると、コードが正しく動作し、ページのすべての入力要素が見つかります。しかし、コードを実行すると、ページをリフレッシュすると常に0が返されます。コンピュータを切り替えて同じコードを実行すると、それは一度うまく動作し、リフレッシュ時には動作しなくなります。

さらに、「入力」に限られていません。それはすべてに起こります(つまり、「a」)。基本的に私はもはやウェブページ上の要素を見つけることができませんが、確かにそこにあるのです。私はそのページを調べて、それらのすべてを見ることができます。

この原因は何ですか? JavaScriptを使用していると、JavaScriptはJavaScriptをブロックしていますか?もしそうなら、これが起こらないように私は何ができますか? 私の学校のための簡単なアンケートウェブサイトです。

+6

を一切HTMLはありませんタグ「」と呼ばれます。あなたはおそらく 'document.getElementsByTagName(" input ")'を望んでいます。 –

+0

私は入力を意味しました。それを間違って入力しました。状況は変わりません。 – Thomas

+0

@gyreコードはロードされたWebページ上のコンソールから実行されているため、リンクは質問に答えません。さらに、最初に正常に動作し、コードが一度実行されてページがリフレッシュされると作業が停止するだけです。 – Thomas

答えて

-1

タグのタイトルは、これらすべての例のように、常に大文字であることを思わ:

https://www.w3schools.com/JSREF/met_document_getelementsbytagname.asp

だからあなたのコードは次のようになります。

console.log(document.getElementsByTagName("INPUT").length); 
+0

タグを大文字にする必要はありません。つまり、それを資本化しても問題は解決されません。私は、コードを正しく実行することを正直に繰り返したいと思います。ページを一度リフレッシュするだけで作業が停止します。 – Thomas

+1

'getElementsByTagName'に渡される引数は、https://dom.spec.whatwg.org/#concept-getelementsbytagnameという仕様に従って、とにかに小文字に変換されます。参照としてw3schoolsを使用しないでください。 –

関連する問題