^With HTML the tags don't actually "behave" at all, save for the elementary operation of http POST. They only _describe_, that's why it's declarative.
The way they are rendered is actually in the CSS specs, and being a cascading mechanism means that you can combine all available effects in classes and subclasses or even with qualifiers that have no equivalent in OOP but are much more useful when describing a document.
If only IE actually honoured things like first-child...
Please provide an example of using JS to "produce functionality" of a tag, because I think you're confusing content, presentation and actions ( you know, the model-view-controller separation)







