getElementsByClassNameを書いてみる

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>test</title>

<body>

<div class = "test">男</div>
<div class = "test2">男</div>
<div class = "test">男</div>
<div class = "test2">男</div>

<script type="text/javascript">

var miniClassList = {
  'contains' : (function () {
    return function ( node, css ) {
      var str = ' ' + node.className + ' ';

      if ( -1 < str.indexOf( ' ' + css + ' ' ) ) return true;

      var i = 0, k, keys = css.split(/ +/);
      while( k = keys[ i++ ] )
        if(-1 == str.indexOf( ' ' + k + ' ' ) ) return false;

      return true;
    };
  })()
};


var getElementsByClassName2 = (function ( checker ) {
  var all = document.getElementsByTagName( '*' );

  return function ( name ) {
    var cnt = 0, emt;
    var rst = [ ];
    
    while( emt = all[ cnt++ ] )
      if( checker( emt, name ) )
        rst.push( emt );
    
    return rst[0] ? rst: null;
  };
})(
    miniClassList.contains
  );


var setTextContent = function ( ary, text ) {
  var key = /*@cc_on @if(1) 'innerText' @else@*/ 'textContent' /*@end@*/;
  var cnt = 0, o;

  if( 1 === ary.nodeType ) ary[ key ] = text;
  else while( o = ary[ cnt++ ] ) o[ key ] = text;
};

//_____________


setTextContent( getElementsByClassName2( 'test' ), '女' );
setTextContent( getElementsByClassName2( 'test2' ), 'おかま' );


    
</script>