У вас все равно 4 пути реализации. 1 делаете всплывающие модальные окна на каждый элемент 2 делаете невидимые блоки под каждый элемент и при всплывание все равно подставляете эти блоки в модальное окном 3 сразу в модальном окне предусмотреть все блоки и отображать только необходимый. 4 ну и через AJAX запрос получать нужный контент после клика и выводить на экран.
При любом раскладе если нет Ajax запроса вы должны будете предусмотреть вывод всех данных сразу, либо скрыто в html либо выгрузка данных в js переменные и отработка если например таких данных мало.
Так что Вам решать как реализовать. тут нет правильно или неправильно, есть целесообразно и понятно ли реализуемо все, а то можно погнаться за правильностью но окажется чрезмерное решение. Если данных очень много то имеет место доп запросы через ajax, мало данных хоть как реализуете, главное чтобы было понятно, где что хранится и как обрабатывается. И контент лежит в контенте а не в шаблоне сайта и туда засовывается невесть каким способом, или все в js положено и танцы с бубнами чтобы понять как туда все попало.