I’ll keep a running list of new items I find that are inconsistent between Internet Explorer and other browsers. I’ll skip most of the stuff that’s already public knowledge.
Internet Explorer doesn’t treat z-index for absolutely positioned objects the same as other browsers: it creates a new “stack” of objects that it re-indexes based on the z-index of the nearest relatively positioned ancestor. If you’ve got an absolutely positioned div that’s supposed to have a z-index that’s higher than something else within another div, make sure its ancestor has the appropriate z-index. The following will give you what you want.
<div style="position: relative; z-index: 999">
<div id="inner" style="position: absolute: top: 0, left: 0;">
Yay, I'm indexed
</div>
</div>
This will not:
<div style="position: relative;">
<div id="inner" style="position: absolute: top: 0,
left: 0; z-index: 999">
Boo, I'm not indexed
</div>
</div>
IE’s javascript engine is pretty sorry. It’s got plenty of bugs but the one I found today has to deal with boolean equality. In every other browser if the element is disabled this evaluates to true but IE evaluates it to false.
$('#element').attr('disabled') == 'true';