In your fiddle, the following declaration probably does not do what you expect.
select:after {content: "This doesn't work";}
This will actually add text after the content in the selection field, and not after the selection window itself. So the text is added after the last option in the markup. (Which, of course, is not valid and will not be displayed by the browser.)
In other words, if you have this markup:
<a href="#">My link</a>
and this CSS:
a:after {content: " has now been appended to";}
What really happens:
<a href="#">My link has now been appended to</a>
source share