2016-03-23 6 views
0

HTMLコンソールでObject.keysがIDをキーとして表示するのはなぜですか?

<input type="checkbox"/> 
<input type="button" id="btn" value="Click"> 

JS

var a = document.getElementsByTagName('input'); 
console.log(Object.keys(a)); 
for (var i = 0; i < Object.keys(a).length; i++) { 
    console.log(a[i]); 
} 

は、 'BTN' 0,1を示している3つのキーがあります。なぜこのオブジェクトにidが表示されているのですか?これを避けるにはどうしたらいいですか?

+0

'var a = document.getElementsByTagName( 'input'); [] .forEach.call(a、function(el){ console.log(el) }) '〜は行いません..あなたはそれを隠すことはできません –

答えて

3

コレクションがgetElementsByTagName()の場合は、そのインデックスまたはそのIDでアイテムを参照できます。

したがってa[0]またはa.btnです。

私はあなただけで101プログラミングからちょうどあなたの基本的なforループである、それらのすべてを反復処理したい疑う:

for(var i = 0; i < a.length; i++) { 
    // a[i] 
} 

.lengthがそこにあるものです!