Семантика текущего пункта меню?
Второй вариант более предпочтительный, и не потому что в первом хак, а потому что, вдруг, я захочу кликнуть по ссылке еще раз? Зачем ее убирать? Просто нужно показать где я сейчас нахожусь, но ссылки все оставлять на местах.
Уберите тег , class active лучше назначить элементу , а в css писать li.active {}
Не думаю, что onclick в ссылке подходит, потому что я могу перейти по ссылке с помощью клавиатуры.
Может быть вообще href="#"?