Формат string.format (или любая другая форма конкатенации строк) явно является запахом кода, и на практике он значительно более непрозрачен, более подвержен человеческим ошибкам, труднее разбивается и, следовательно, менее удобен в обслуживании и медленнее, чем Методы DOM.
Я настоятельно советую подход DOM.