заведи массив rowStack. При появлении tr пушишь в массив что-нибудь (например, true). Кроме того, проверяешь всякий раз этот стэк на пустоту. Если не пуст - ты внутри tr, лови тег/текст. Если пуст - ты вне строки.
По закрытию тега tr делай rowStack.pop()
Стэк нужно использовать потому что внутри одной таблицы может находиться другая. Если таких случаев у тебя заведомо не будет - можешь обойтись просто флагом inTableRow : true/false
|