Почему вы используете таблицы для верстки, ведь гораздо проще и семантически правильно с помощью чистых списков ul (тем более, что вы используете многоуровневые списки - доступно с некоторыми простыми операциями
здесь) или ol.
Также эту задачу можно решить с помощью псевдокласса
:checked в CSS, он поддерживается, начиная с IE 9.0+, Chrome 1.0+, Opera 9.0+, Safari 3.1+, Firefox 1.0+, Android 1.0+, iOS 2.0+. Но сделать также легко, как это можно сделать с помощью JS, тут не получится, но я сторонник того, чтобы все что можно сделать без JS, нужно делать без JS)