JavaScript和Ajax部分(4)
31、 什麽是jQuery選擇器
1)jQuery選擇器繼承了CSS與Path語言的部分語法,允許通過標簽名、屬性名或內容對DOM元素進行快速、準確的選擇,而不必擔心瀏覽器的兼容性,通過jQuery選擇器對頁面的元素的精準定位,才能完成元素屬性和行為的處理。
選擇器是jQuery的根基,在jQuery中,對象的事件處理,遍歷DOM和Ajax操作都依賴於選擇器
2)jQuery選擇器的優點:
簡潔的寫法
完善的事件處理機制
支持CSS1到CSS3選擇器
32、 jQuery選擇器的種類
1).基本選擇器
基本選擇器是jQuery中最常見的選擇器,也是最簡單的選擇器,它通過元素id,class和標記名來查找DOM元素
2).層次選擇器
如果想通過DOM元素之間的層次關系來獲取特定元素,就需要使用層次選擇器
3).過濾器選擇器
過濾選擇器主要是通過特定的過濾規則來篩選出所需的DOM元素,該選擇器都以“:”開頭,過濾選擇器又分以下幾種
4).表單選擇器
表單選擇器主要是通過所選擇的表單元素進行過濾
5).屬性選擇器
屬性過濾選擇器的過濾規則是通過元素的屬性來獲取相應的元素
7).內容過濾器選擇器
內容過濾選擇器的過濾規則主要體現在它所包含的子元素和和文本內容上
8).可見性過濾選擇器
可見性過濾選擇器是根據元素的可見和不可見狀態來選擇相應的元素
33、 jQuery中的選擇器 和 css中的選擇器有區別嗎?
答:
34、 siblings() 方法 和 $(‘prev~div‘)選擇器是一樣的嘛?
答: $(‘prev~div‘) 只能選擇‘#prev‘元素後面的同輩<div>元素而siblings()方法與前後的位置無關,只要是同輩節點就都能匹配。
35、 jQuery中的hover()和toggle()有什麽區別?
答: hover()和toggle()都是jQuery中兩個合成事件。
hover()方法用於模擬光標懸停事件。
toggle()方法是連續點擊事件。
36、 $("#msg").text()和 $("#msg").text("<b>new content</b>")有什麽區別?
$("#msg").html()及$("#msg").html("<b>new content</b>")的區別呢?
答:$("#msg").text() 是 返回id為msg的元素節點的文本內容
$("#msg").text("<b>new content</b>"); 是 將“<b>new content</b>” 作為普通文本串寫入id為msg的元素節點內容中,頁面直接顯示“<b>new content</b>”,text()方法對HTML和XML文檔都有效
$("#msg").html()則是取得id為msg的元素節點的html內容。這個函數不能用於XML文檔。但可以用於XHTML文檔
$("#msg").html("<b>new content</b>"),是將“<b>new content</b>”作為HTML內容寫入id為msg的元素節點內容中,頁面直接顯示粗體的“new content”內容
37、 Jquery對象和dom對象的區別
Jquery對象才能調用jquery中特有的方法。例如jqueryObj.html()、jqueryObj.val()等方法,而不能使用dom對象特有的屬性和方法,例如domObj.value,domObj.innerHTML等。
Jquery對象可以和dom對象相互轉化
38、 jQuery對象和dom對象是怎樣轉換的?
1.jQuery轉DOM對象:
1)jQuery 對象是一個數組對象,可以通過[index]的方式得到相應的DOM對象,例如頁面有個id為myDiv的DIV對象,可以使用var domObj = $(“#myDiv”)[0]這種方式來獲取該DIV對應的dom對象
2)通過get(index)去得到相應的DOM對象,var domObj = $(“#myDiv”).get(0);
2.DOM對象轉jQuery對象:
直接使用$(DOM對象)來轉換,示例代碼:
var domObj = document.getElementById(“myDiv”);
var jQueryObj = $(domObj);
$()就相當於一個jquery對象的構造函數
39、 你是如何使用jQuery中的ajax的?
答: 如果是一些常規的ajax程序的話,使用$.load(),$.get(),$.post(),就可以搞定了,
一般我會使用的是$.get() 方法。
如果需要設定beforeSend(提交前回調函數),error(失敗後處理),success(成功後處理)
及complete(請求完成後處理)回調函數等,這個時候我會使用$.ajax()
40、 jQuery中$.get()提交和$.post()提交有區別嗎?
1)$.get() 方法使用GET方法來進行異步請求的,$.post() 方法使用POST方法來進行異步請求的。
2)get請求會將參數跟在URL後進行傳遞,而POST請求則是作為HTTP消息的實體正文內容發送給Web服務器的,這種傳遞是對用戶不可見的。
3)get方式傳輸的數據大小不能超過2KB 而POST要大的多
4)GET 方式請求的數據會被瀏覽器緩存起來,因此有安全問題。
JavaScript和Ajax部分(4)