Posted By

cjcenizal on 01/31/12


Tagged

javascript google DOM closure getElement getElementByClass


Versions (?)

Get DOM element via class and id selector, using Google Closure


 / Published in: JavaScript
 

The Google Closure lets you get DOM elements with getElement( id ) and getElementByClass( class ). This function combines the two to let you get elements similarly to the way jQuery does. E.g. getElement( '#home .sidebar #links') returns the element with an id of 'links', within the element of class 'sidebar', within the element of id 'home'.

  1. function getElement( selector ) {
  2. var split = selector.split(" ");
  3. var el = document;
  4. var len = split.length;
  5. var type, name;
  6. for( var i = 0; i < len; i++ ) {
  7. try {
  8. name = split[ i ];
  9. type = name[ 0 ];
  10. name = name.substr( 1, name.length - 1 );
  11. switch( type ) {
  12. case "#":
  13. el = goog.dom.getElement( name, el );
  14. break;
  15. case ".":
  16. el = goog.dom.getElementByClass( name, el );
  17. break;
  18. default:
  19. el = null;
  20. }
  21. } catch( e ) {
  22. el = null;
  23. throw( "Error with getElement using selector: " + selector + ", error: " + e );
  24. }
  25. }
  26. if ( el == document ) el = null;
  27. return el;
  28. }

Report this snippet  

You need to login to post a comment.