The part left in was moving one of the .toUpperCase() calls to the var nodeName instead of having it in the loop. This appears to be giving a speed boost of a couple percent for those same hierarchy selectors.
Plugins will be most interested in:
- jQuery.data(elem) -> Unique ID for the element
- jQuery.data(elem, name) -> Named data store for the element
- jQuery.data(elem, name, value) -> Saves a value to the named data store
- jQuery.removeData(elem) -> Remove the expando and the complete data store
- jQuery.removeData(elem, name) -> Removes just this one named data store
jQuery's .remove() and .empty() automatically clean up after themselves. Once an element leaves a DOM document their events are no longer intact. Thus, statements like so:
{{{
$("#foo").remove().appendTo("#bar");
}}}
should be written like so:
{{{
$("#foo").appendTo("#bar");
}}}
in order to avoid losing the bound events.