Pergunta

Eu queria saber se existe uma alternativa à função jQuery .html (variável)? Parece ser bastante lento e também congela enquanto insera o HTML no DOM.

Tentei usar o InnerHTML, e isso funciona muito bem, extremamente rápido também. Mas, por algum motivo, quando tenho algum jQuery ou MS Ajax no código inserido, esses scripts funcionam apenas no FF.

Estou tentando inserir cerca de 2000 linhas de código.

Foi útil?

Solução

O problema é que o código JQuery ou MS Ajax (JavaScript) que você inserir na página não é avaliado. O método .html em jQuery faz isso por você, mas se você quiser usar .innerhtml, precisará avaliá -lo manualmente, usando a função avaliar ():

eval(«javascript code here»);

Portanto, as etapas são, insira o HTML usando o INnerHTML e avalie apenas a parte JavaScript usando a função de avaliação.

Outras dicas

Seria ótimo, se você estivesse mais especificado sobre o seu problema. De um modo geral, não há necessidade de fazer atualizações de 2000 .html (), você precisa se juntar a ele em chamadas .html () maiores, porque após cada .html () inteiro dom é reconstrução, o que causa desaceleração.

Eu estava apenas lendo esta resposta E houve um link nos comentários sobre o uso DOM Fragmentos de documentos E quão rápido é comparado ao método "normal" ... confira. Na verdade, ele não compara os benchmarks ao jQuery, mas isso lhe dará uma ideia geral.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top