You got a lot of advice. Hopefully something you try will work. I read through a few of the responses and was HORRIFIED when i read a post from a mother suggesting to put your eighteen month old toddler in his room for an hour.
That is insane. Your child is too young to be sent to his room and an hour is entirely too long.
Children should be put in timeout for one minute for each year they are old. At 18 months, timeout may not be a concept your child is familiar with yet, but he can learn it.
I like the idea of putting him down and walking away when he hits... that is teaching him that he wont get attention and he wont get his way if he hits. It's good that your husband steps in, but he's not always there and your child needs to respect your authority, too. Don't let your husband intercept anymore unless your son hits him.
The next time your son hits you, tell him "we dont hit, we use our words" or something like that. He may not have the words to express himself yet, but its never too early to learn to use words instead of hitting. Tell him hitting hurts, or use whatever words you use to convey pain. My son said "Owie" so I would saw "owie" and sometimes pretend to cry gthe first time my son hit. If he hit again, he went in timeout for roughly 2 minutes each time he hit. At that age, timeout was in the playpen with no toys, blankets, or anything else. I woulf repeat "we do not hit" or "no hitting" then walk away while he screamed. After two minutes, I'd come back, remind him "no hitting" and take him out of timeout and give him a hug.
(the hug is to reinforce that I love him even though he was misbehaving...again, 18 months is a bit young, but if you start now it will be habit to always remind him he is being punished for the behavior and that you dont like the behavior but love him anyway.