2016-05-29 14 views
1

tdセルのテキストを「Clicked」に変換しようとしています。それがクリックされたときに、JSをロードするときにエラーをスローします。私は周りを読んで、このような配列を使用することができないことを知っているが、私はそれを修正する方法を知らない。addEventListenerが関数エラーではありません

window.addEventListener("load", table) 

function table(){ 
    var tables = document.getElementsByTagName("td"); 
    tables.addEventListener("click", clicked); 
} 
+3

これは、ここで何度も頼まれてい...「document.getElementsByTagNameはDOM要素のNodeListをを返します。各要素は、addEventListenerを機能を持っていますが、。配列には1つもありません。 " –

答えて

4

document.getElementsByTagName戻るないNodeオブジェクトが、NodeListオブジェクト。インデックスでNodeオブジェクトにアクセスできます。

サンプル

var tables = document.getElementsByTagName("td"); 

if (tables.length) { 
tables[0].addEventListener("click", clicked); 
} 

https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByTagName

+0

NodeListに '.forEach()'を使うことはできません。 – Pointy

+0

本当に、ありがとう! – gevorg

関連する問題