Bom vou colocar ao longo dos próximos dias algumas pérolas advindas desse navegador que não serve nem como bucha de canhão na guerra das malvinas! Venham o trecho de código abaixo:
<input type=’button’ onclick=”$(‘teste’).innerHTML = $(‘meutabela’).innerHTML” value=’Copiar Tabela’>
<table id=’teste’></table>
<table id=’meutabela’>
<tr><td>teste</td></tr>
</table>
Esse código faz o seguinte (menos no IE) copia o conteúdo da tabela de meutabela para a tabela teste, fiquei pensando no motivo dele não funcionar no maldito IE e fiz o seguinte teste troquei <table id=’teste’></table> para <div id=’teste’></div> e adivinhem o IE copiou o conteúdo, vejam a inconsistência, ele não copia TR para dentro de uma tabela que é o certo mas copia TR para dentro de um DIV dá pra acreditar nisso! ainda não achei a solução quando descobrir posto aqui!
UPDATE: olha lá a solução, achei no blog deste camarada aqui Thiago Mata um episódio idêntico ao que estou passando, vou parafrasear o cara:
“Ao pesquisar na internet descobri o seguinte link no site da microsoft http://support.microsoft.com/kb/239832/pt-br onde, em resumo, não se pode mesmo alterar o innerHTML de uma tabela a não ser pelos métodos DOM. A mensagem de erro é essa mesmo e só lamento para você. Nem é colocado como um bug mas como um comportamento normal e esperado pelo browser. ”
Viram ai a puta sacanage, é igual aquela história da microsoft insistir que 1900 é um ano bissexto, lembram disso? então é a mesma coisa os caras fizeram uma cagadona e resolveram adotar aquilo como padrão, esse é o geitinho micro$oft de ser!
Seguindo a sugestão do Thiago ai está o código emgabiarrado mas funcionando no IE:
<div id=’teste’></div>
<div id=’meutabela’>
<table>
<tr><td>teste</td></tr>
</table>
</div>
SOLUÇÃO II
Devido a pau de id tive que achar uma outra solução para o problema, usei o insert do próprio prototype:
$('meutabela').insert($('teste').innerHTML);
O insert manipula o DOM e assim não cai no problema do innerHTML somente leitura para table do IE
IE bom é IE morto!!!
Cara valeu, quando não funcionou sabia logo que era algum “bug”.
Háber só uma observação segundo a micro$oft isso ai não um bug não é padrão de projeto.