Javascript só pode realizar certas operações em elementos DOM depois de terem sido definidos. Este problema é descrito em detalhes no artigo "Sequência de execução de Javascript" //www.VeVB.COm/article/44577.htm.
jQuery usa document.ready para garantir que o código a ser executado seja executado após o carregamento do elemento DOM. Por exemplo, no artigo "jQuery Basics - How to Get Started", usei o seguinte código jQuery:
Copie o código do código da seguinte forma:
<!-- $(documento).ready(função()
{
alert("Meu primeiro código jQuery!");
});
// -->
O significado deste código é: quando o Dom Tree é carregado, uma mensagem de aviso é exibida.
document.ready() é semelhante ao método tradicional <body onload="load()">, exceto que o método onload() ocorre após o carregamento da página, incluindo o carregamento de elementos DOM e outros elementos da página (como imagens),
Portanto, a velocidade de execução do método document.ready() é mais rápida do que o método onload().
Dois pontos finais a serem observados (da documentação do jQuery):
1. Certifique-se de que não haja nenhuma função registrada no evento onload do elemento <body>, caso contrário o evento $(document).ready() poderá não ser acionado. (
Tentei demonstrar isso com o exemplo abaixo, mas sem sucesso, então acho que é apenas uma possibilidade. )
Copie o código do código da seguinte forma:
<html>
<cabeça>
<title>Meu segundo jQuery</title>
<mce:script type="text/javascript" src="/js/jquery.js" mce_src="js/jquery.js"></mce:script>
<mce:script type="text/javascript">
<!-- //A seguir está a função de carregamento contendo a função de registro jquery $
function load(){ $("p").append("<b>Olá</b>");
//A seguir está o código jQuery
$(documento).ready(função()
{ $("p").append("Meu primeiro código jQuery!"
);
$("p").append("<b>Olá</b>");
</mce:script>
</head>
<body onload="carregar()">
<h2>jQuery exemplo simples 2</h2>
<p>Eu gostaria de dizer: </p>
</body>
</html>
2. O evento $(document).ready() pode ser usado ilimitadamente na mesma página. As funções cadastradas serão executadas em sequência (no código).