Это d = t.getElementsByTagName("tr")
и r = d.getElementsByTagName("td")
оба arrays
.getElementsByTagName
возвращает коллекцию элементов, даже если в вашем совпадении найден только один элемент.
Поэтому вы должны использовать это так:
var t = document.getElementById("table"), // This have to be the ID of your table, not the tag
d = t.getElementsByTagName("tr")[0],
r = d.getElementsByTagName("td")[0];
Поместите индекс массива так, как выхотите получить доступ к объектам.
Обратите внимание, что getElementById
, как следует из названия, просто получите элемент с совпадающим идентификатором, поэтому ваша таблица должна быть похожа на <table id='table'>
и getElementsByTagName
получает по тегу.
РЕДАКТИРОВАТЬ:
Ну, продолжая этот пост, я думаю, вы можете сделать это:
var t = document.getElementById("table");
var trs = t.getElementsByTagName("tr");
var tds = null;
for (var i=0; i<trs.length; i++)
{
tds = trs[i].getElementsByTagName("td");
for (var n=0; n<trs.length;n++)
{
tds[n].onclick=function() { alert(this.id); }
}
}
Попробуйте!