Well if te mean in the series, then it was because Spikes natural hair color was the light brown and then he eventually bleached it to the peroxide blonde we know and love. He also dyed his hair black once as seen in the episode of Angel Why We Fight.
James hair would grow and te could see the brown roots his natural hair colour coming through so James would dye his hair back to blond for his role as spike when that would happen