Select option's text is different once selected
The difference between the two DOM objects is not a matter of data, but rather a matter of the order of operations when they are created.
When you use the inline of $('<select class="blah" />')
, the <select>
element is created with the class already intact, and styled accordingly. When you use $(<select />
, { 'class': 'blah' })`, you perform 2 operations: 1) create the item, 2) set it's class.
This seems innocuous, but it actually forces the browser to do a redraw of the element upon application of the CSS class.
Now - in your scenario, the fact that this causes the specific issue that it does is pretty clearly a bug that applies to IE - but the fact that IE shouldn't behave poorly obviously in no way prevents it from doing so.
Hope this sheds some light.