I was around for all of this. Websites using jQuery were almost all using hand written HTML or HTML generated by something like rails web templates or PHP.
SPAs didn’t go mainstream until almost 10 years after 2006. And even at their height they never represented the majority of all websites.
But also most SPAs aren’t any less HTML by hand than using PHP templates are.
Are you sure about that? Most of the mid-2000's jQuery components bundled their HTML and CSS in bespoke template strings within JS. If you remember, jQuery's `.css()` method accepted JSON to set CSS properties, and `.html()` accepted a string to set the inner-HTML.
And if you needed to manipulate strings to generate HTML, you'd be doing so with some kind of template mechanism, like string concatenation or substring substitutions. John Resig, author of jQuery, wrote Secrets of the JavaScript Ninja in 2008 [1], offering a small templating engine that does exactly that. The first commit in the Underscore library credits this book for their `template` method [2].
I think your chronology is skewed or confused. "SPAs" have been brewing in some form since the mid-2000's, when people stopped writing plain old HTML and CSS. Everything was jQuery UI widgets and AJAX, Prototype and Underscore templates. HTML died a very long time ago.
[1]: https://blog.codinghorror.com/secrets-of-the-javascript-ninj...
[2]: https://github.com/jashkenas/underscore/commit/02ede85b539a8...