для радио можно не проверять :checked при клике
если клик, то точно :checked
а у соседнего span просто удаляем стиль
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>demo</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-git.js'></script>
<style type='text/css'>
.selected { background: red; }
</style>
<script>
$(document).ready(function(){
$(' span input[type="radio"]').bind('click', function (e) {
var $this = $(this);
$this.parent().addClass('selected');
$this.parent().siblings('span').removeClass('selected');
});
});
</script>
</head>
<body>
<span><input type="radio" name="a" value="" /> I am very happy!</span>
<span><input type="radio" name="a" value="" /> I am very happy!</span>
</body>
</html>