By chance, is one of your elements nested inside the other?
ie:
<div id="foo">
<div id="bar">
<div id="baz">
</div>
</div>
If so, you may be experiencing a pointer problem, where IE may have freed bar prior to you trying to work out that its a div. The behaviour of
$("#foo,#bar,#baz").html("xx");
In this secenario is:
- Replace #foo with xx
- Replace #bar with xx
- Replace #baz with xx
However, if at phases 2 & 3, #bar and #baz no longer exist, you are going to have a little fun. ( it doesn't matter if xx happens to contain a copy of #bar and #baz, they'll likely be different objects, and the initial objects that you're replacing have already been captured, just are no longer in the DOM :/ )
You can possibly suppress ( yes, gah, awful idea ) this error by encapsulating the procedure in a try/catch
try {
$("#foo,#bar,#baz").html("xx");
}
catch( e )
{
/* DO NOTHING D: */
}
But this is your last resort, right after getting some sort of JS debugger binding IE and tracing the error to its core.