Answer: The origin of the phrase to wear one's heart on one's sleeve is generally attributed to a jousting custom popular during the Middle Ages. Knights traditionally wore colors or some type of insignia on their arms to signify the ladies for whom they were participating in the jousting tournament.
Step-by-step explanation:
Search it. It gives you an in depth answer.