It's entirely possible that it's not a static website but something like a php script that pulls from a database and puts everything in the generated html instead of building the site dynamically with javascript requests. There's a number of ways to have something be contained within the html code but not visible on the screen that are apart from comments. One possibility, for example, would be that the coder just did a SELECT * database query (get every field available instead of specific ones you are looking for) and coded it to assign the values as html attributes, ending up looking something like this:
HTML:
<div firstName="Jim" lastName="Smith" position="Principal" ssn="111-11-1111">
stuff
</div>
Now, those aren't actually valid attributes. The code won't validate. But any browser would still create an element and assign attributes with those names to it that you could access via javascript for display.
In particular, if you hire someone at the lowest cost who doesn't know what they're doing they are liable to slap a bunch of example code together from various sources until the output looks the way they want.