答:在項目中是怎么用的是看看你有沒有項目經(jīng)驗(yàn)(根據(jù)自己的實(shí)際情況來回答) 你用過的選擇器啊,復(fù)選框啊,表單啊,ajax啊,事件等
配置jQuery環(huán)境 下載jquery類庫 在jsp頁面引用jquery類庫即可
<script type="text/[JavaScript](http://lib.csdn.net/base/javascript)" src="jquery/jquery-1.7.2.min.js"/>
接下來通過在<script> $(function(){ }); </script>
答:因?yàn)閖Query是輕量級的框架,大小不到30kb,它有強(qiáng)大的選擇器,出色的DOM操作的封裝,有可靠的事件處理機(jī)制(jQuery在處理事件綁定的時候相當(dāng)?shù)目煽?,完善的ajax(它的ajax封裝的非常的好,不需要考慮復(fù)雜瀏覽器的兼容性和XMLHttpRequest對象的創(chuàng)建和使用的問題。) 出色的瀏覽器的兼容性。 而且支持鏈?zhǔn)讲僮鳎[式迭代。行為層和結(jié)構(gòu)層的分離,還支持豐富的插件,jquery的文檔也非常的豐富。
答:這個答案是開發(fā)的,看你是否有相關(guān)的項目經(jīng)驗(yàn)。
例前臺拿不到值,JSON 可是出現(xiàn)的錯誤(多了一個空格等)這編譯是不會報錯的 jquery庫與其他庫沖突:
1>如果其他庫在jquery庫之前導(dǎo)入的話
1.我們可以通過jquery.noconflict()將變量的$的控制權(quán)過度給其他庫
2.自定義快捷鍵,用一個變量接住jquery.noconflict()
3.通過函數(shù)傳參
2>如果jquery庫在其他庫之前導(dǎo)入就直接使用jquery
今天在處理一個數(shù)據(jù)問題時,發(fā)現(xiàn)jQuery.ajax()方法返回的值一直有問題,清除緩存后數(shù)據(jù)無誤,多次測試后發(fā)現(xiàn)返回的值都是之前的值,并且一直未執(zhí)行url(后臺為Java,設(shè)置斷點(diǎn)一直未進(jìn)入)。在網(wǎng)上查找下,發(fā)現(xiàn)是未設(shè)置type的原因。 如果沒設(shè)置jQuery.ajax的type="Post",那么ajax就會默認(rèn)type="Get",這就會導(dǎo)致之前數(shù)據(jù)被緩存起來。加上type="Post",問題解決!
答 :jQuery中的選擇器大致分為:基本選擇器,層次選擇器,過濾選擇器,表單選擇器
答:jQuery選擇器支持CSS里的選擇器,jQuery選擇器可用來添加樣式和添加相應(yīng)的行為CSS 中的選擇器是只能添加相應(yīng)的樣式
答:簡單的寫法 $('ID') 來代替 document.getElementById()函數(shù)
支持CSS1 到CSS3 選擇器完善的處理機(jī)制(就算寫錯了id也不會報錯)
答: 1 選擇器中含有".","#","[" 等特殊字符的時候需要進(jìn)行轉(zhuǎn)譯
2 屬性選擇器的引號問題
3 選擇器中含有空格的注意事項
答 :jquery轉(zhuǎn)DOM對象:jQuery 對象是一個數(shù)組對象,可以通過[index]的豐富得到相應(yīng)的DOM對象還可以通過get[index]去得到相應(yīng)的DOM對象。DOM對象轉(zhuǎn)jQuery對象:$(DOM對象)
答: 如果是一些常規(guī)的ajax程序的話,使用load(),$.get(),$.post(),就可以搞定了,一般我會使用的是$.post() 方法。如果需要設(shè)定beforeSend(提交前回調(diào)函數(shù)),error(失敗后處理),success(成功后處理)及complete(請求完成后處理)回調(diào)函數(shù)等,這個時候我會使用$.ajax()
答: 好用的。 因?yàn)閖Query提供了一些日常開發(fā)中夙瑤的快捷操作,例 load,ajax,get,post等等,所以使用jQuery開發(fā)ajax將變得極其簡單,我們就可以集中精力在業(yè)務(wù)和用戶的體驗(yàn)上,不需要去理會那些繁瑣的XMLHttpRequest對象了。
答: 1 $.get() 方法使用GET方法來進(jìn)行異步請求的。$.post() 方法使用POST方法來進(jìn)行異步請求的。
2 get請求會將參數(shù)跟在URL后進(jìn)行傳遞,而POST請求則是作為HTTP消息的實(shí)體內(nèi)容發(fā)送給Web服務(wù)器的,這種傳遞是對用戶不可見的。
3 get方式傳輸?shù)臄?shù)據(jù)大小不能超過2KB 而POST要大的多
4 GET 方式請求的數(shù)據(jù)會被瀏覽器緩存起來,因此有安全問題。
答:load方法一般在 載入遠(yuǎn)程HTML 代碼并插入到DOM中的時候用,通常用來從Web服務(wù)器上獲取靜態(tài)的數(shù)據(jù)文件。如果要傳遞參數(shù)的話,可以使用$.get() 或 $.post()。
答: addClass() 來追加樣式 ,removeClass() 來刪除樣式,toggle() 來切換樣式
答: 首先去裝載文檔,在頁面家在完畢后,瀏覽器會通過javascript 為DOM元素添加事件。
答:使用過。
hide() 和 show() 同時修改多個樣式屬性。像高度,寬度,不透明度。 fadeIn() 和fadeOut() fadeTo() 只改變不透明度
slideUp() 和 slideDown() slideToggle() 只改變高度
animate() 屬于自定義動畫的方法.
答:一般我會使用的是$.post() 方法。
如果需要設(shè)定beforeSend(提交前回調(diào)函數(shù)),error(失敗后處理),success(成功后處理及complete(請求完成后處理)回調(diào)函數(shù)等,這個時候我會使用$.ajax()
答:四種 行內(nèi)式,內(nèi)嵌式,導(dǎo)入式,鏈接式
答:append(),appendTo(),prepend(),prependTo(),after(),insertAfter(),before(),insertBefore() 大致可以分為 內(nèi)部追加和外部追加append() 表式向每個元素內(nèi)部追加內(nèi)容。appendTo()表示 講所有的元素追加到指定的元素中。例$(A)appendTo(B) 是將A追加到B中下面的方法解釋類似。
答: wrapAll(),wrap(), wrapInner() 需要在文檔中插入額外的結(jié)構(gòu)化標(biāo)記的時候可以使用這些包裹的方法應(yīng)為它不會帛畫原始文檔的語義
jQuery中可以用attr()方法來獲取和設(shè)置元素屬性removeAttr() 方法來刪除元素屬性
答:html()方法 類似于innerHTML屬性 可以用來讀取或者設(shè)置某個元素中的HTML內(nèi)容
注意:html() 可以用于xhtml文檔 不能用于xml文檔text() 類似于innerText屬性 可以用來讀取或設(shè)置某個元素中文本內(nèi)容。val() 可以用來設(shè)置和獲取元素的值
答 :children() 取得匹配元素的子元素集合,只考慮子元素不考慮后代元素 next() 取得匹配元素后面緊鄰的同輩元素
prev() 取得匹配元素前面緊鄰的同輩元素
siblings() 取得匹配元素前后的所有同輩元素
closest() 取得最近的匹配元素
find() 取得匹配元素中的元素集合 包括子代和后代
答:子代元素是找子節(jié)點(diǎn)下的所有元素,后代元素是找子節(jié)點(diǎn)或子節(jié)點(diǎn)的子節(jié)點(diǎn)中的元素
答:可以 在jQuery中有兩者替換節(jié)點(diǎn)的方式 replaceWith() 和 replaceAll()例如在<p title="hao are you">hao are you</p>替換成I am fine$('p').replaceWith('I am fine'); replaceAll 與replaceWith的用法前后調(diào)換一下即可。
答:發(fā)送請求前可以修改XMLHttpRequest對象的函數(shù),在beforeSend中如果返回false 可以取消本次的Ajax請求。XMLHttpRequest對象是唯一的參數(shù)所以在這個方法里可以做驗(yàn)證
答: $('prev~div') 只能選擇'#prev'元素后面的同輩<div>元素而siblings()方法與前后的文職無關(guān),只要是同輩節(jié)點(diǎn)就都能匹配。
答:使用過,在$.getJSON() 方法的時候就是。
因?yàn)?$.getJSON() 就是用于加載JSON文件的
答:我在公司使用過 :first 查詢第一個,:last 查詢最后一個,:odd查詢奇數(shù)但是索引從0開始:even 查詢偶數(shù),:eq(index)查詢相等的 ,:gt(index)查詢大于index的 ,:lt查詢小于index:header 選取所有的標(biāo)題等
答:能。 使用nextAll() 和使用$('prev~siblindgs') 是一樣的
答 :addClass() 方法,attr() 方法
答: 兩個方法有相似的功能,但是在實(shí)行時機(jī)方面是有區(qū)別的。 1window.onload方法是在網(wǎng)頁中所有的元素(包括元素的所有關(guān)聯(lián)文件)完全加載到瀏覽器后才執(zhí)行的。
2 $(document).ready() 方法可以在DOM載入就緒時就對其進(jìn)行操縱,并調(diào)用執(zhí)行綁定的函數(shù)。
答 :要處理緩存就是禁用緩存.
1 通過$.post() 方法來獲取數(shù)據(jù),那么默認(rèn)就是禁用緩存的。
2 通過$.get()方法 來獲取數(shù)據(jù),可以通過設(shè)置時間戳來避免緩存。可以在URL后面加上+(+new Date)例 $.get('ajax.xml?'+(+new Date),function () { //內(nèi)容 }); 3 通過$.ajax 方法來獲取數(shù)據(jù),只要設(shè)置cache:false即可。
答: 1 $.getScript() 方法可以直接加載.js文件,并且不需要對javascript文件進(jìn)行處理,javascript文件會自動執(zhí)行。
2 $.getJson() 是用于加載JSON 文件的 ,用法和$.getScript()
《jquery基礎(chǔ)教程》 《jquery實(shí)戰(zhàn)》《鋒利的jquery》 《巧用jquery》 《jQuery用戶界面庫學(xué)習(xí)指南》等
答:1 $("#msg").text() 是 返回id為msg的元素節(jié)點(diǎn)的文本內(nèi)容
2 $("#msg").text("new content"); 是 將“new content” 作為普通文本串寫入id為msg的元素節(jié)點(diǎn)內(nèi)容中, 頁面顯示粗體的new content
答 : $('input[name=items]').get(1).checked = true;
答:在網(wǎng)頁中 每個id名稱只能用一次,class可以允許重復(fù)使用
答: HTML格式 ,JSON格式,javascript格式,XML格式
1 HTML片段提供外部數(shù)據(jù)一般來說是最簡單的。
2 如果數(shù)據(jù)需要重用,而且其他應(yīng)用程序也可能一次受到影響,那么在性能和文件大小方面具有優(yōu)勢的JSON通常是不錯的選擇。
3 而當(dāng)遠(yuǎn)程應(yīng)用程序未知時,XML則能夠?yàn)榱己玫幕ゲ僮餍蕴峁┳羁煽康谋WC。
答:1 獲取頁面的元素
2 修改頁面的外觀
3 改變頁面大的內(nèi)容
4 響應(yīng)用戶的頁面操作
5 為頁面添加動態(tài)效果
6 無需刷新頁面,即可以從服務(wù)器獲取信息
7 簡化常見的javascript任務(wù)
答 : 三種,html拼接的,json數(shù)組,form表單經(jīng)serialize()序列化的。
答 hover()和toggle()都是jQuery中兩個合成事件。
hover()方法用于模擬光標(biāo)懸停事件。 toggle()方法是連續(xù)點(diǎn)擊事件。
答 : 知道,事件冒泡是從里面的往外面開始觸發(fā)。在jQuery中提供了stopPropagation()方法可以停止冒泡。
答: 可以用 event.preventDefault()或在事件處理函數(shù)中返回false,即 return false;
a) formData:返回一個數(shù)組,可以通過循環(huán)調(diào)用來校驗(yàn)
b) jaForm:返回一個jQuery對象,所有需要先轉(zhuǎn)換成dom對象
c) fieldValue:返回一個數(shù)組beforeSend()
a) 答: 插件的好處:對已有的一系列方法或函數(shù)的封裝,以便在其他地方重新利用,方便后期維護(hù)和提高開發(fā)效率插件的分類:封裝對象方法插件 、封裝全局函數(shù)插件、選擇器插件
b) 注意的地方:
i. 1.插件的文件名推薦命名為jquery.[插件名].js,以免和其他的javaScript庫插件混淆
ii. 2.所有的對象方法都應(yīng)當(dāng)附加到j(luò)Query.fn對象上,而所有的全局函數(shù)都應(yīng)當(dāng)附加到j(luò)Query對象本身上
iii. 3.插件應(yīng)該返回一個jQuery對象,以保證插件的可鏈?zhǔn)讲僮?br>iv. 4.避免在插件內(nèi)部使用$作為jQuery對象的別名,而應(yīng)使用完整的jQuery來表示,這樣可以避免沖突或使用閉包來避免
v. 5.所有的方法或函數(shù)插件,都應(yīng)當(dāng)一分好結(jié)尾,否則壓縮的時候可能出現(xiàn)問題。在插件頭部加上分號,這樣可以避免他人的不規(guī)范代碼給插件帶來影響
vi. 6.在插件中通過$.extent({})封裝全局函數(shù),選擇器插件,擴(kuò)展已有的object對象通過$.fn.extend({})封裝對象方法插件