Why does iodine sublime? I have researched it myself and I have got the same answer; it sublimes because it directly converts from solid to gas. But why don't bromine or chlorine also sublime?
I think your question can be more generally stated, and subsequently, answered. Why do some substances sublime, while others don't?
To understand this, you need to understand a phase change to gas occurs when the total vapor pressure of substance in a condensed phase (solid or liquid) exceeds the atmospheric pressure.
[In case you aren't familiar with the term, vapor pressure is defined as as the pressure exerted by a vapor in thermodynamic equilibrium with its condensed phases (solid or liquid) at a given temperature in a closed system]
So, at a given temperature, if the atmospheric pressure is low enough, any substance will go from solid to gas (i.e sublime), without having a chance to melt (so to speak).
To gain a better understanding of this process, I urge you to look at a phase diagram. (this particular one is for carbon dioxide, easier to find than iodine's the principal remains the same.)
at atmospheric conditions (~1 bar) you can observer solid carbon dioxide goes to gas, bypassing the liquid state. But say, at a higher pressure say >10 bar, it does indeed go from solid to liquid to gas, as it is warmed.
Iodine sublimes for the same reasons that all solids do: because it has some equilibrium vapor pressure an normal conditions. Now, the value of that pressure varies greatly in different solids. For many of them, it is so extremely low that for all practical reasons it can be considered non-existent. (Say, if you'd leave a sample of NaCl for a thousand years, I don't think you will be able to detect the weight loss due to sublimation.) For iodine, the vapor pressure is significant, so a sample left in the open will vanish completely in a matter of hours.
Some sources may specify that iodine goes directly from solid to gas when heated, never becoming a liquid. That's an urban legend; iodine does have the melting point and the boiling point at standard pressure, and between the two it will be liquid. It is not easy to demonstrate, though; if you heat it in the open, it will probably sublime away even before reaching the melting point, and if you do it in a closed container, the vapors get so thick you can't see a thing.
That being said, there are indeed some compounds that would never turn liquid at ambient pressure. That's because their triple point is above that ambient pressure. Carbon dioxide is one example; water on Mars is another.
As for chlorine and bromine, I don't really see the point of your question. At normal conditions they are not solid, so they can't undergo sublimation simply by the definition of it. If you cool them down enough to be solid, they will.