jQuery基礎之一 -- 簡單介紹

Jquery是繼prototype之後又一個優秀的Javascrīpt框架。它是輕量級的js庫(壓縮後只有21k) ,它兼容CSS3,還兼容各種瀏覽器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 Jquery應用到我們的項目中能夠使程序員從設計和書寫繁雜的JS應用中解脫出來,將關注點轉向功能需求而非實現細節上,從而提高項目的開發速度。它有助於簡化 JavaScript以及Ajax 編程。jQuery使用戶能更方便地處理HTML documents、events、實現動畫效果,並且方便地爲網站提供AJAX交互。jQuery還有一個比較大的優勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁保持代碼和html內容分離,也就是說,不用再在html裏面插入一堆js來調用命令了,只需定義id即可。

官方站點:http://jquery.com/

中文站點:http://jquery.org.cn/

jQuery 1.7 API 中文版 下載【CHM 離線版】http://julying.com/lab/jQuery-api/download/jquery-api-1.7.1_20120209.chm.zip

jQuery 1.7 API 英文版 下載【CHM 離線版】http://julying.com/lab/jQuery-api/download/jquery-api-1.7.1-en_20120209.chm.zip

jQuery 1.7 API 中文版【在線版】http://julying.com/lab/jQuery-api-1.7/

jQuery 1.7 API 英文版【在線版】http://julying.com/lab/jQuery-api-1.7/en/


jquery的優點:
1、代碼簡練、語義易懂、學習快速、文檔豐富。
2、jQuery是一個輕量級的腳本,其代碼非常小巧,最新版的JavaScript包只有20K左右。
3、jQuery支持CSS1-CSS3,以及基本的xPath(1.3以後就廢除了)。
4、jQuery是跨瀏覽器的,它支持的瀏覽器包括IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+。
5、可以很容易的爲jQuery擴展其他功能。
6、能將JS代碼和HTML代碼完全分離,便於代碼和維護和修改。
7、插件豐富,除了jQuery本身帶有的一些特效外,可以通過插件實現更多功能,如表單驗證、tab導航、拖放效果、表格排序、DataGrid,樹形菜單、圖像特效以及ajax上傳等。


jQuery的使用

用jquery的前提,首先要引用一個有jquery的文件 
<script type="text/javascript" src="../js/jquery-1.6.4.js"></script>

第一個jquery頁面:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>jQuery</title>
<script type="text/javascript" src="js/jquery-1.6.4.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		alert("Hello World!");
	});
</script>
</head>
<body>

</body>
</html>

$(document).ready(function(){....});與window.onload區別:

$(document).ready(function(){....});網頁中所有DOM結構繪製完畢後就執行,可能DOM元素關聯的東西並沒有加載完

當然還會更精簡:

$().ready(function(){
...
});

$(function(){
...
});
$(document).ready();可以出現多個,每個都會調用,而window.onload只能出現一個,如果有多個話,只會調用最後一個

window.onload = function(){...};必須等待網頁中所有的內容加載完畢後(包括圖片)才能執行

 等價於

$(window).load(function(){
...
});

jQuery對象的方法與DOM對象的方法是不能混合使用的,只有jquery對象才能使用jquery定義的方法,調用方法時要注意操作的是dom對象還是jquery對象。例如$("#id").innerHTML或者document.getElementById("id").html()都是錯誤的。但兩都是可以相互轉換的

jQuery對象轉換成DOM對象:
	var $cr = $("#cr");
	var cr = $cr[0]; // cr = $cr.get(0);
DOM對象轉換成jQuery對象:
	var cr = document.getElementById("cr");
	var $cr = $(cr);
	$("div").eq(2).html();           //調用jquery對象的方法
	$("div").get(2).innerHTML;       //調用dom的方法屬性
檢測某個元素在網頁上是否存在:
if($("#id").length > 0){
	...
} 
或者 
if($("#id")[0]){  //if($("#id").get(0))
	...
}

同一函數實現set和get

Jquery中的很多方法都是如此,主要包括如下幾個:
$("#msg").html();  //返回id爲msg的元素節點的html內容。
$("#msg").html("<b>new content</b>");  //將“<b>new content</b>” 作爲html串寫入id爲msg的元素節點內容中,頁面顯示粗體的new content
$("#msg").text();  //返回id爲msg的元素節點的文本內容。
$("#msg").text("<b>new content</b>");  //將“<b>new content</b>” 作爲普通文本串寫入id爲msg的元素節點內容中,頁面顯示<b>new content</b>
$("#msg").height();  //返回id爲msg的元素的高度
$("#msg").height("300");  //將id爲msg的元素的高度設爲300
$("#msg").width();  //返回id爲msg的元素的寬度    
$("#msg").width("300");  //將id爲msg的元素的寬度設爲300
$("input").val(");  //返回表單輸入框的value值
$("input").val("test");  //將表單輸入框的value值設爲test
$("#msg").click();  //觸發id爲msg的元素的單擊事件
$("#msg").click(fn);  //爲id爲msg的元素單擊事件添加函數 
同樣blur,focus,select,submit事件都可以有着兩種調用方法

解決自定義方法或其他類庫與jQuery的衝突
很多時候我們自己定義了$(id)方法來獲取一個元素,或者其他的一些js類庫如prototype也都定義了$方法,如果同時把這些內容放在一起就會引起變量方法定義衝突,Jquery對此專門提供了方法用於解決此問題。
使用jquery中的jQuery.noConflict();方法即可把變量$的控制權讓渡給第一個實現它的那個庫或之前自定義的$方法。之後應用Jquery的時候只要將所有的$換成jQuery即可,如原來引用對象方法$("#msg")改爲jQuery("#msg")。如:
jQuery.noConflict(); 
// 開始使用jQuery
jQuery("div p").hide();
// 使用其他庫的 $() 
$("content").style.display = 'none';

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章