Avoiding Casting
From PowerUI
PowerUI 2 has a standardised DOM. That means that methods like getElementById return an Element rather than the more useful HtmlElement, which results in a lot of casting that previously wasn't required.
Contents
Why does it happen at all?
HTML5 can have content like SVG and MathML embedded within it; an SvgElement is not a HtmlElement. However, the vast majority of the time, you'll be interacting with a HtmlElement (and on the web, Javascript hides this from you).
Convenience functions
If you find an instance where a convenience function would be useful, please let us know!
Document
(these ones have the bonus of being a little shorter too - just omit the word Element from the standard Web API)
Standard name | Convenience name | What it does |
---|---|---|
getElementById | getById | Element to HtmlElement |
getElementByTagName | getByTagName | Element to HtmlElement |
getElementByAttribute | getByAttribute | Element to HtmlElement |
Event
Standard name | Convenience name | What it does |
---|---|---|
target | htmlTarget | Element to HtmlElement |
Node (Element, HtmlElement etc)
Standard name | Convenience name | What it does |
---|---|---|
parentNode | htmlParentNode | Node to HtmlElement |
document | htmlDocument | Document to HtmlDocument |
NodeList
E.g. childNodes uses these
Standard name | Convenience name | What it does |
---|---|---|
item(x) | htmlItem(x) | Node to HtmlElement |
HTMLCollection
Poorly named by the specification; these are collections of Element objects.
Standard name | Convenience name | What it does |
---|---|---|
item(x) | htmlItem(x) | Element to HtmlElement |