關(guān)于頁面加載即執(zhí)行JQuery的三種方法小結(jié)
頁面加載即執(zhí)行JQuery的方法
【1】$(function( ){ });
? $(function(){? $("#name").click(function(){? //adding your code here? });? });?
【2】$(document).ready(function( ){ })
? $(document).ready(function(){? $("#name").click(function(){? //adding your code here ? });? });
第二種是第一種的完整形式。
【3】window.onload = function( ){ }
?window.onload = function(){? $("#name").click(function(){? //adding your code here? });? }?
【4】后面兩種的區(qū)別
1.執(zhí)行的時機不同
window.onload
要等整個窗口(包括圖片)都加載完才觸發(fā) 執(zhí)行$(document).ready()
在 DOM 結(jié)構(gòu)繪制完成后就可執(zhí)行
2.編寫的個數(shù)
window.onload
編寫多個時,只有最后的那起作用$(document).ready()
可以編寫多個,都生效
3.簡化寫法
window.onload
無$(document).ready()
可簡寫為()
Tip :jQuery中真正與 window.onload完全等價的是$(window).load()方法
jQuery頁面加載事件
在jQuery對象與js對象之間的轉(zhuǎn)換的案例中,我們看到所有的js代碼都放到了body標(biāo)簽之后,如果把js代碼放到head標(biāo)簽中,js代碼就會報錯,這個問題我們已經(jīng)在js中學(xué)過,就是需要讓頁面加載完成之后再執(zhí)行.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="js/jquery-1.12.4.js"></script> <!‐‐ 測試jQuery ‐‐> </head> <body> <div id="myDiv1">通過不同方式獲得文本內(nèi)容111</div> <div id="myDiv2">通過不同方式獲得文本內(nèi)容222</div> </body> <script type="text/javascript"> //通過js方式打印div內(nèi)部的內(nèi)容 var divEle = document.getElementById("myDiv1");//js的DOM對象 alert(divEle.innerHTML);//js對象的innerHTML屬性 //通過jQuery方式打印div內(nèi)部的內(nèi)容 var $divEle = $("#myDiv2");//jQuery對象 alert($divEle.html());//jQuery對象的html方法 //使用js的DOM對象調(diào)用jQuery對象的方法 //alert(divEle.html());//錯誤寫法,不能正常執(zhí)行 //使用jQuery對象調(diào)用js的DOM對象的屬性 //alert($divEle.innerHTML);//錯誤寫法,不能正常執(zhí)行 //js轉(zhuǎn)換成jQuery對象后在調(diào)用jQuery對象的html方法 alert($(divEle).html());//轉(zhuǎn)換后正常執(zhí)行 //jQuery轉(zhuǎn)換成js的DOM對象后在調(diào)用js的innerHTML屬性 alert($divEle[0].innerHTML); alert($divEle.get(0).innerHTML); </script> </html>
js中的頁面加載事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> onload=function(){ //通過js方式打印div內(nèi)部的內(nèi)容 var divEle = document.getElementById("myDiv"); alert(divEle.innerHTML); } </script> </head> <body> <div id="myDiv">通過不同方式獲得文本內(nèi)容</div> </body> </html>
jquery對頁面加載事件也進行了封裝,讓我們使用起來更加的簡單
jQuery中的頁面加載事件 方式1:(理解)
$(document).ready(function(){ //編寫代碼 });
方式2:(掌握)
$(function(){ //編寫代碼 });
代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="js/jquery-1.12.4.js"></script> <!‐‐ 測試jQuery ‐‐> <script type="text/javascript"> //js onload=function(){ alert("js頁面加載"); } //jquery方式 $(document).ready(function(){ alert("jquery方式1"); }); $(function(){ alert("jquery方式2"); }) </script> </head> <body> </body> </html>
效果
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JQuery 風(fēng)格的HTML文本轉(zhuǎn)義
astinus開發(fā)過程中,我自己就在不斷的使用。有次貼了一些JS代碼進去,于是頁面顯示錯誤。顯然,把源代碼直接放進html文本了——好吧,從05年轉(zhuǎn)去做網(wǎng)游以后,一直沒有正經(jīng)的做過web了。2009-07-07jquery form表單提交插件asp.net后臺中文解碼
對于jquery form表單提交插件jquery.form.js,在提交表單數(shù)據(jù)時,如果表單數(shù)據(jù)有中文,則被提交的數(shù)據(jù)是要經(jīng)過編碼的。2010-06-06IE中jquery.form中ajax提交沒反應(yīng)解決方法分享
用jquery form插件,進行ajax提交,本來可以用,好好地,突然發(fā)現(xiàn),firefox,opera等可以提交,ie的success函數(shù)運行了2012-09-09jquerydom對象的事件隱藏顯示和對象數(shù)組示例
本文為大家介紹下jquery的dom對象的事件隱藏顯示和對象數(shù)組,感興趣的朋友可以參下2013-12-12