Ну, на чистом JS такое делать - то ещё извращение(даже с jQuery).
Вообще для таких больших задач я бы посоветовал использовать AngularJS(в простейшем случае), либо React(только тут уже не всё в одном и надо будет почитать про Flux, и подумать о связи с сервером). Вообще, решений много...
Если всё же Вы любите костыли, то манипуляции с document и DOMParser - Ваши друзья