2017-02-11 8 views
0

によって発見されていない私は、次のHTMLHTMLはgetElementsByTagNameの

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"/> 
     <title>Test</title> 
     <script type = "text/javascript" src = 
     "../js/test.js"></script> 
    </head> 
    <body> 
     <p><input type = "button" value = "Click";></input></p> 
    </body> 
</html> 

を書いて、対応するJavaScriptがtest.js

var inputs = document.getElementsByTagName("input"); 
console.log(inputs.length); 

を提出して示した値は0です。誰もが説明できますか?

+3

DOMにロードする前に要素を取得しようとしています –

+0

JavaScriptファイル全体ですか?また、「」は自己閉鎖です。 ''は必要ありません。 – putvande

+0

@putvande私が間違っていれば私を訂正してください - 自己閉鎖のタグであっても、どういうわけかそれらを閉じておくのがよい習慣です。 '
'が動作するにもかかわらず、 '
'と書く方が良いでしょう。これは私が聞いたことです。 – Addem

答えて

1

要素をロードする前に要素を取得しようとしています。要素が読み込まれた後に実行するには、要素の後にスクリプトタグを移動するか、onload event handlerに追加してください。

window.onload = function(){ 
    var inputs = document.getElementsByTagName("input"); 
    console.log(inputs.length); 
}