рони, тут ещё надо на уникальность почитить, на случай td ~ th ~ td.)
voraa, не поддерживается в FF - идёт нахрен. Не надо тут вторую эпоху IE разводить.)
P.S. Вроде красиво же?
document.evaluate("//tr[td and th]", document)
А подвох в том, что оно не массив возвращает и всё равно ручками по циклу пройтись придётся.)