The incident took place at 7:40pm on Lower Briggate, near to Bar Fibre, and resulted in serious head injuries.
He was taken to hospital, where he remains this morning.
A 19-year-old man has been arrested and is currently in custody.
If you witnessed the incident you are asked to dial 101 and contact West Yorkshire Police.
Alternatively call Crimestoppers anonymously on 0800 555 111.