У вас input прямо в tr лежит? Вообще должно быть так:
<table>
<tr>
<td><input … /></td>
…
тогда первый раз parentNode выдаст td, а второй — tr.
Литературу не знаю, почти не читал книжек по JavaScript, на этом сайте есть несколько книг, возможно, в них есть это
http://javascript.ru/book