アンカー先のスタイルを変える

ページ内か、他のページなのか判断するのを、サボっているのだけれど
まぁ〜いいっかっ!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title></title>
<style type="text/css">
p { margin-bottom: 200px; }
.destination { background-color:#f00; color:#ff0; }

</style>
<body>
<p><a href="#a" name="d">abc</a></p>
<p><a href="#b" name="a">def</a></p>
<p><a href="#c" name="b">ghi</a></p>
<p><a href="#d" name="c">jkl</a></p>

<script type="text/javascript">
//@cc_on
var TokenList = (function ( cut, has ) {
  return function ( type ) {
 
    return {
      'add':
        function ( e, name ) {
          var keys = cut( name );
          var buf = [ ], cnt = 0, key;
          
          while( key = keys[ cnt++ ] )
            has( e[ type ], key ) || buf.push( key );

          e[ type ] += ( e[ type ] ? '\u0020': '' ) + buf.join( '\u0020' );

          return e[ type ];
        },


      'remove':
        function ( e, name ) {
          var keys = cut( e[ type ] );
          var buf = [ ], cnt = 0, key;
          
          while( key = keys[ cnt++ ] )
            has( name, key ) || buf.push( key );

          return e[ type ] = buf.join( '\u0020' );
        }
    };
  };
})(
    function ( s ) { return ( '' + s).split( /\u0020+/ ) },
    function ( s, n ) { return -1 < ( '\u0020' + s + '\u0020' ).indexOf( '\u0020' + n + '\u0020' ) }
  );


function setStyleByHash( hash, cssStyle ) {
  hash = hash.substring(1);
  var d = document;
  var e = d.getElementById( hash ) || ( d.getElementsByName( hash ) || [ ])[0];

  if( this.memory && this.cssStyle ) {
    ClassList.remove( this.memory, this.cssStyle );
    this.memory = this.cssStyle = null;
  }

  if( e ) {
    ClassList.add( e, cssStyle );
    this.memory = e;
    this.cssStyle = cssStyle;
  }
}

function anchorCheck( evt ) {
  var e = evt./*@if( @_jscript ) srcElement @else@*/ target /*@end@*/;
  var href;
  
  if( 'A' !== e.nodeName ) return;
  
  href = e.getAttribute( 'href' /*@, 2@*/ );
  href && setStyleByHash( href, Destination );
}

//___________

var ClassList = TokenList( 'className' );
var Destination = 'destination';

/*@if( @_jscript ) attachEvent( 'on' + @else@*/ addEventListener( /*@end@*/
  'load', function ( ) { setStyleByHash( location.hash, Destination); }, false );

document./*@if( @_jscript ) attachEvent( 'on' + @else@*/ addEventListener( /*@end@*/
  'click', anchorCheck, false );

</script>
</body>
</html>