То-есть вас не смущает что код не работает в Firefox < 11, но вы недовольны что он не работает в IE8 ?
Этот код должен исправить проблему. Плюс используется решение в стиле jQuery.
<script src="http://yandex.st/jquery/1.9.1/jquery.min.js"></script>
<div class="xxx">asfasf</div>
<script>
$.fn.ohtml = function(){
return this[0].outerHTML || new XMLSerializer().serializeToString(this[0]);
}
alert($('.xxx').remove().ohtml());
</script>