+6  A: 

No other solution really. Though you can shorten it a little:

<a href="#" class="imgLink"><span>Link Text</span> <img src="..."></a>

a.imgLink { text-decoration: none; }
a.imgLink span { text-decoration: underline; }

That way you only need to specify one class.

_Lasar
i'd do it the other way around, and put the images in a span. that way you don't have to put a span around every single link you've got.
nickf
nickf: I believe that wouldn't work. The underline from the surrounding a would still go through under the entire a content including the image. That's why you need a spanto apply the text-decoration to.
_Lasar
A: 

In which browser do you have a problem with this? Most browsers do not apply text-decoration to images since it makes no sence.

othersize, just do like this:

<a class="imgLink" href="">some text<img src="" /></a>


.imgLink {
    text-decoration: underline;
}

.imgLink img {
    text-decoration: none;
}

jishi
A: 

If you want to add non-underlined image badges for reusable link types, such as displaying a wikipedia-style external link arrow, try the following style:

a.externalLink{
    padding-right: 15px;
    background: transparent url('badge.png') no-repeat center right;
}

Then in your markup:

<a href="foo" class="externalLink">bar</a>
elliott