http://jsfiddle.net/mark69_fnd/DyRCZ/:
On Chrome:

On IE9:

I am using jQuery 1.8.0
Now, I know that IE9 sucks, but IE is one of the 5 major browsers and jQuery is supposed to isolate the developer from the “peculiarities” of IE, isn’t it?
So, what is wrong?
Thanks.
P.S.
I know the IE subject invites to certain kind of talk, but please – be constructive.
EDIT
To all those claiming an array of strings is not working. jQuery 1.8.0 supports it, otherwise it would not have worked neither on Chrome nor on Firefox. But it does on both of them! The only problem is with IE9, which means jQuery 1.8.0 after() API is broken there.
EDIT2
I think jQuery 1.8.0 has more problems with after() even on Chrome. For instance, should the below work?
$('#itemsHeader').after("
<tr><td>a</td></tr>");
http://jsfiddle.net/mark69_fnd/Nw8Hz/
And what about:
$('#itemsHeader').after(" <tr><td>a</td></tr>");
The answer is that the former does not work, but the latter works! From the html perspective both are identical and should work. But it does not even on Chrome.
EDIT3
I am stupid. Yes I am.
http://jsfiddle.net/DyRCZ/3/
I got it working just fine on IE9. You are passing an array, and not the string of text. Try joining the array into a string and passing it and you will be fine.
Also, if you want to continue using the array of ELEMENTS, you must create them as such:
http://jsfiddle.net/DyRCZ/10/