Rotate object: script works if applied to that object, but not if referencing object in scene

Hello,

I want to rotate the hands of a clock every time the clock is clicked on.

However: although the script below works fine to translate the entire clock.
When I replace this line:

transform.rotation= Quaternion.Lerp (transform.rotation, targetRotation , 10 * smooth * Time.deltaTime); 

with this:

minuteHand.transform.rotation= Quaternion.Lerp (transform.rotation, targetRotation , 10 * smooth * Time.deltaTime); 

The rotation no longer work properly, but starts jerking between 4 and 7 degrees and doesn’t stop moving.
Does anyone know how I should write the script so I can rotate a gameobject in the scene, rather than the object the script is applied to?

public class ClockScript : MonoBehaviour {

	public GameObject minuteHand;
	public GameObject hourHand;

	public float clockAngle;

	public float smooth = 1f;
	private Quaternion targetRotation;
	void Start(){
		targetRotation = transform.rotation;
	}

	void Update () {
		if (Input.GetMouseButtonDown(0)) { 
			targetRotation *=  Quaternion.AngleAxis(clockAngle, Vector3.forward);
		}
		transform.rotation= Quaternion.Lerp (transform.rotation, targetRotation , 10 * smooth * Time.deltaTime); 
	}
}

All the best,
Laurien

It looks like you want to manipulate a specific transform. So specify the object you want to change.

From your posted code, maybe something like this :

 minuteHand.transform.rotation= Quaternion.Lerp (minuteHand.transform.rotation, targetRotation , 10 * smooth * Time.deltaTime); 

If you only write transform, it will use the transform of the script.