
Often in our projects we want to set default hover behavior for links. We would do this with CSS like so:
a { text-decoration: none; }
a:hover { text-decoration: underline; }
/* OR: border-bottom: 1px solid black; */
The frustrating thing about this CSS is that the underline or border on hover applies to all types of links, including linked images.
Unfortunately, CSS doesn’t have a standard yet for selecting parent elements. If it did the easy way to target a parent selector and turning off the underline for image links would look something like this:
a < img { border-bottom: none; }
OR
a img:parent { border-bottom: none; }
Currently the best solution comes to us with jQuery:
jQuery(document).ready(function($) {
$('a img').parent().css('border-bottom','none');
});
What we’re doing in this code is selected all img tags wrapped in an a tag and then using the parent() function to select the wrapping a tag. Then we use the css() function to remove the border on the parent a tag.