jQuery 語法
通過 jQuery,您可以選?。ú樵儯琿uery) HTML 元素,并對它們執(zhí)行"操作"(actions)。
jQuery 語法
在jQuery 程序中,不管是頁面元素的選擇,還是內置的功能函數(shù),都是以美元符號“$”來起始的,而這個“$”就是jQuery當中最重要且獨有的對象:jQuery對象,所以我們在頁面元素選擇或執(zhí)行功能函數(shù)的時候就可以這么寫:
$(function(){}); //執(zhí)行一個匿名函數(shù)
$('#box'); //進行執(zhí)行的ID元素選擇
$('#box').css('color','red'); //執(zhí)行函數(shù)功能
由于“$”本身就是jQuery 對象的縮寫,那么也就是說上面的代碼我們可以寫成如下形式:
jQuery(function(){});
jQuery('#box');
jQuery('#box').css('color','red');
實例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表格</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js" type="text/javascript"></script> <script> $(function(){ $('#box').css('color','red'); }); // alert($===jQuery); </script> </head> <body> <div id="box">jQuery語法</div> </body> </html>
jQuery 的加載模式
我們在之前的代碼一直在使用$(function(){});這段代碼進行首尾包裹,你知道為什么要這么做嗎?
原因是我們的jQuery 庫文件是在body元素之前加載的,我們必須等待所有的網(wǎng)頁代碼加載之后,才能執(zhí)行加載JavaScript代碼,否則就無法獲取
實例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表格</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js" type="text/javascript"></script> <script> $('#box').css('color','red'); </script> </head> <body> <div id="box">jQuery語法</div> </body> </html>
所以我們以前的JavaScript給我們提供了:
window.onload=function(){}; //JavaScript等待加載
我們的jQuery給我們提供了:
$(document).ready(function(){}); //jQuery等待加載
兩者的區(qū)別:
1. 執(zhí)行時機
window.onload :必須等待網(wǎng)頁加載完畢(包括圖片)才能執(zhí)行包裹代碼。
$(document).ready(function(){}) :只需等待網(wǎng)頁中的DOM結構加載完畢,就能執(zhí)行包裹的代碼。效果更高
2.執(zhí)行次數(shù)
window.onload 只能執(zhí)行一次,如果第二次,那么第一次的執(zhí)行就會被覆蓋
$(document).ready(function(){}) :無論執(zhí)行多少次都不會被覆蓋掉
示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表格</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js" type="text/javascript"></script> <script> // window.onload=function(){ // alert(1) // }; // window.onload=function(){ // alert(2) // }; $(document).ready(function(){ alert(1) }); $(document).ready(function(){ alert(2) }) </script> </head> <body> <div id="box">jQuery語法</div> </body> </html>
3.簡寫
window.onload ?無
$(document).ready(function(){}) ? ? $(function (){});
在實際的應用中,我們很少直接去使用window.onload,因為他需要等待圖片之類的大型元素加載完畢之后才能執(zhí)行JS代碼,如果遇到網(wǎng)速較慢的情況下,頁面已經全部展開,圖片還在緩慢加載,這時頁面上任何的JS交互功能全部處于假死狀態(tài),比如一些下拉菜單什么的。