| 
		
			Сообщение от stryker
			
		
	 | 
	| 
		да не по собственной воле-то
	 | 
	
А по чьей?
По теме: что за this.a??? Это чтобы запутать? Если уж захотелось залезть в глобальную область, то чего ж стесняться, так бы и писал: window.a. Хотя это вроде как не принято (не самый хороший тон во всяком случае). Можно было бы хранить предыдущую ячейку в функции. Например, так:
function setColor(){
  if (!arguments.callee.a) arguments.callee.a = arguments[0]
  else arguments.callee.a.style.background = "white"; 
  arguments[0].style.background = "green"; 
  arguments.callee.a = arguments[0];
}
А лучше через замыкания:
var setColor = (function(){
  var storage
  return function(){
    var element = arguments[0]
    if (storage && storage != element) storage.style.background = "white"; 
    element.style.background = "green"; 
    storage = element
  }
}());