jQuery问题
JavaScript 是客戶端腳本的標準語言,而 jQuery 使得編寫 JavaScript 更加簡單。1. jQuery 庫中的 $() 是什么?
$() 函數是 jQuery() 函數的別稱,$() 函數用于將任何對象包裹成 jQuery 對象,接著你就被允許調用
定義在 jQuery 對象上的多個不同方法。可以將一個選擇器字符串傳入 $() 函數,它會返回一個包含所有
匹配的 DOM 元素數組的 jQuery 對象。2. 網頁上有 5 個 <div> 元素,如何使用 jQuery來選擇它們?
jQuery 支持不同類型的選擇器,例如 ID 選擇器、class 選擇器、標簽選擇器。你可以用標簽選擇器來選擇所有的 div 元素。jQuery 代碼:$("div"),這樣會返回一個包含所有5個div
標簽的jQuery對象。3. jQuery 里的 ID 選擇器和 class 選擇器有何不同?
當你只需要選擇一個元素時,使用 ID 選擇器,而如果你想要選擇一組具有相同 CSS class 的元素,
就要用 class 選擇器。$('#LoginTextBox') // Returns element wrapped as jQuery object with id='LoginTextBox'
$('.active') // Returns all elements with CSS class active.從語法角度來說,ID 選擇器和 class 選擇器的另一個不同之處是,前者用字符”#”而后者用字符”.”。4. 如何在點擊一個按鈕時使用 jQuery 隱藏一個圖片?jQuery為按鈕點擊之類的事件提供了很好的支持。你可以通過以下代碼去隱藏一個通過ID或class定位到的
圖片。你需要知道如何為按鈕設置事件并執行hide() 方法,代碼如下所示:$('#ButtonToClick').click(function(){$('#ImageToHide').hide();
});$(document).ready() 是個什么函數?為什么要用它?
ready() 函數用于在文檔進入ready狀態時執行代碼。當DOM 完全加載(例如HTML被完全解析DOM樹構建
完成時),jQuery允許你執行代碼。使用$(document).ready()的最大好處在于它適用于所有瀏覽器,
jQuery幫你解決了跨瀏覽器的難題。6. JavaScript window.onload 事件和 jQuery ready 函數有何不同?
JavaScript window.onload 事件和 jQuery ready 函數之間的主要區別是,前者除了要等待 DOM 被
創建還要等到包括大型圖片、音頻、視頻在內的所有外部資源都完全加載。如果加載圖片和媒體內容花費了
大量時間,用戶就會感受到定義在 window.onload 事件上的代碼在執行時有明顯的延遲。使用 jQuery $(document).ready() 的另一個優勢是你可以在網頁里多次使用它,瀏覽器會按它們在
HTML 頁面里出現的順序執行它們,相反對于 onload 技術而言,只能在單一函數里使用。7. 如何找到所有 HTML select 標簽的選中項?
$('[name=NameOfSelectedTag] :selected')使用了屬性選擇器和 :selected 選擇器,結果只返回被選中的選項。你可按需修改它,比如用 id 屬性
而不是 name 屬性來獲取 <select> 標簽。8. jQuery 里的 each() 是什么函數?你是如何使用它的?
each() 函數就像是 Java 里的一個 Iterator,它允許你遍歷一個元素集合。你可以傳一個函數給
each() 方法,被調用的 jQuery 對象會在其每個元素上執行傳入的函數。$('[name=NameOfSelectedTag] :selected').each(function(selected) {alert($(selected).text());
});9. 你是如何將一個 HTML 元素添加到 DOM 樹中的?
可以通過 appendTo() 方法在指定的 DOM 元素末尾添加一個現存的元素或者一個新的 HTML 元素。10. 你能用 jQuery 代碼選擇所有在段落內部的超鏈接嗎?
可以使用下面這個 jQuery 代碼片段來選擇所有嵌套在段落(<p>標簽)內部的超鏈接(<a>標簽)……11. $(this) 和 this 關鍵字在 jQuery 中有何不同?
$(this) 返回一個 jQuery 對象,你可以對它調用多個 jQuery 方法,比如用 text() 獲取文本,
用val() 獲取值等等。而 this 代表當前元素,它是 JavaScript 關鍵詞中的一個,表示上下文中
的當前 DOM 元素。你不能對它調用 jQuery 方法,直到它被 $() 函數包裹,例如 $(this)。12. 你如何使用jQuery來提取一個HTML 標記的屬性 例如. 鏈接的href? attr() 方法被用來提取任意一個HTML元素的一個屬性的值. 你首先需要利用jQuery選擇及選取到所有的
鏈接或者一個特定的鏈接,然后你可以應用attr()方法來獲得他們的href屬性的值。下面的代碼會找到頁面
中所有的鏈接并返回href值:13. 你如何使用jQuery設置一個屬性值?attr()方法和jQuery中的其它方法一樣,能力不止一樣. 如果你在調用attr()的同時帶上一個值
例如. attr(name, value), 這里name是屬性的名稱,value是屬性的新值。14. jQuery中 detach() 和 remove() 方法的區別是什么?盡管 detach() 和 remove() 方法都被用來移除一個DOM元素, 兩者之間的主要不同在于detach()會
保持對過去被解除元素的跟蹤, 因此它可以被取消解除, 而 remove() 方法則會保持過去被移除對象的引用. 15. 你如何利用jQuery來向一個元素中添加和移除CSS類? 通過利用 addClass() 和 removeClass() 這兩個 jQuery 方法。動態的改變元素的class屬性可以很簡單
例如. 使用類“.active"來標記它們的未激活和激活狀態,等等.16. 使用 CDN 加載 jQuery 庫的主要優勢是什么 ?除了報錯節省服務器帶寬以及更快的下載速度這許多的好處之外, 最重要的是,如果瀏覽器已經從同一個CDN
下載類相同的 jQuery 版本, 那么它就不會再去下載它一次.17. jQuery.get() 和 jQuery.ajax() 方法之間的區別是什么?ajax() 方法更強大,更具可配置性, 讓你可以指定等待多久,以及如何處理錯誤。get() 方法是一個只
獲取一些數據的專門化方法。18. jQuery 中的方法鏈是什么?使用方法鏈有什么好處?方法鏈是對一個方法返回的結果調用另一個方法,這使得代碼簡潔明了,同時由于只對 DOM 進行了一輪
查找,性能方面更加出色。19. 你要是在一個 jQuery 事件處理程序里返回了 false 會怎樣?
這通常用于阻止事件向上冒泡。20. 哪種方式更高效:document.getElementbyId("myId") 還是 $("#myId")?第一種,因為它直接調用了 JavaScript 引擎。
自己總結的web前端的jquery
1 你在公司是怎么用jquery的?用過的選擇器啊,動畫啊,表單啊,ajax事件等<script type="text/javascript" src="jquery/jquery-1.7.2.min.js"/></script><script>$(function(){ });</script>2 你為什么要使用jquery?1.因為jQuery是輕量級的框架,大小不到30kb,它有強大的選擇器,出色的DOM操作的封裝 2.有可靠的事件處理機制,jQuery在處理事件綁定的時候相當的可靠, 3.完善的ajax,它的ajax封裝的非常的好,不需要考慮復雜瀏覽器的兼容性和XMLHttpRequest對象的創建 和使用的問題。 4.出色的瀏覽器的兼容性。而且支持鏈式操作,隱式迭代。5 你知道jquery中的選擇器嗎,請講一下有哪些選擇器?選擇器大致分為:基本選擇器,層次選擇器,過濾選擇器,表單選擇器6 jquery中的選擇器 和 css中的選擇器有區別嗎? 1.jQuery選擇器支持CSS里的選擇器, 2.jQuery選擇器可用來添加樣式和添加相應的行為 3.CSS 中的選擇器是只能添加相應的樣式7 你覺得jquery中的選擇器有什么優勢? 簡單的寫法 $('ID') 來代替 document.getElementById()函數 支持CSS1 到CSS3 選擇器 完善的處理機制(就算寫錯了id也不會報錯)8 你在使用選擇器的時候有有沒有什么覺得要注意的地方? 1.選擇器中含有".","#","[" 等特殊字符的時候需要進行轉譯 2.屬性選擇器的引號問題9 jquery對象和dom對象是怎樣轉換的? 1.jquery轉DOM對象:jQuery 對象是一個數組對象,可以通過[index]的豐富得到相應的DOM對象 2.還可以通過get[index]去得到相應的DOM對象。 3.DOM對象轉jQuery對象:$(DOM對象)10 你是如何使用jquery中的ajax的? 1.如果是一些常規的ajax程序的話,使用load(),$.get(),$.post(),就可以搞定了,一般我會使用的 是$.post() 方法。 2.如果需要設定beforeSend(提交前回調函數),error(失敗后處理),success(成功后處理)及complete (請求完成后處理)回調函數等,這個時候我會使用$.ajax()11 你覺得jquery中的ajax好用嗎,為什么? 1.好用的。因為jQuery提供了一些日常開發中夙瑤的快捷操作,例 load,ajax,get,post等等 2.所以使用jQuery開發ajax將變得極其簡單,我們就可以集中精力在業務和用戶的體驗上,不需要去理會 那些繁瑣的XMLHttpRequest對象了。12 jquery中$.get()提交和$.post()提交有區別嗎?1.$.get() 方法使用GET方法來進行異步請求的。$.post() 方法使用POST方法來進行異步請求的。 2.get請求會將參數跟在URL后進行傳遞,而POST請求則是作為HTTP消息的實體內容發送給Web服務器的, 這種傳遞是對用戶不可見的。 3.get方式傳輸的數據大小不能超過2KB 而POST要大的多 4.GET 方式請求的數據會被瀏覽器緩存起來,因此有安全問題。13 jquery中的load方法一般怎么用的? 1.load方法一般在載入遠程HTML代碼并插入到DOM中的時候用 2.通常用來從Web服務器上獲取靜態的數據文件。 3.如果要傳遞參數的話,可以使用$.get() 或 $.post()14 在jquery中你是如何去操作樣式的? 1.addClass() 來追加樣式 2.removeClass() 來刪除樣式 3.toggle() 來切換樣式15 簡單的講敘一下jquery是怎么處理事件的,你用過哪些事件? 首先去裝載文檔,在頁面家在完畢后,瀏覽器會通過javascript 為DOM 元素添加事件。16 你使用過jquery中的動畫嗎,是怎樣用的? 1.hide() 和 show() 同時修改多個樣式屬性。像高度,寬度,不透明度。 2.fadeIn() 和fadeOut() fadeTo() 只改變不透明度 3.slideUp() 和 slideDown() slideToggle() 只改變高度 4.animate() 屬于自定義動畫的方法.18 你一般用什么去提交數據,為什么? 1.一般我會使用的是$.post() 方法。 2.如果需要設定beforeSend(提交前回調函數),error(失敗后處理),success(成功后處理)及complete (請求完成后處理)回調函數等,這個時候我會使用$.ajax()19 在jquery中引入css有幾種方式? 四種 行內式,內嵌式,導入式,鏈接式20 你在jquery中使用過哪些插入節點的方法,它們的區別是什么?] append(),appendTo(),prepend(),prependTo(),after(),insertAfter() before(),insertBefore() 內添加 1.append在文檔內添加元素 2.appendTo()把匹配的元素添加到對象里 3.prepend()在元素前添加 4.prependTo()把匹配的元素添加到對象前外添加 1.after()在元素之后添加 2.before()在元素之前添加 3.insertAfter()把匹配元素在對象后添加 4.insertBefore()把匹配元素在對象前添加22 jquery中如何來獲取或和設置屬性?1.jQuery中可以用attr()方法來獲取和設置元素屬性 2.removeAttr() 方法來刪除元素屬性23 如何來設置和獲取HTML和文本的值? 1.html()方法 類似于innerHTML屬性 可以用來讀取或者設置某個元素中的HTML內容注意:html() 可以 用于xhtml文檔,不能用于xml文檔 2.text() 類似于innerText屬性 可以用來讀取或設置某個元素中文本內容。 3.val() 可以用來設置和獲取元素的值24 你jquery中有哪些方法可以遍歷節點?1.children() 取得匹配元素的子元素集合,只考慮子元素不考慮后代元素 2.next() 取得匹配元素后面緊鄰的同輩元素 3.prev() 取得匹配元素前面緊鄰的同輩元素 4.siblings() 取得匹配元素前后的所有同輩元素 5.closest() 取得最近的匹配元素 6.find() 取得匹配元素中的元素集合 包括子代和后代25 子元素選擇器和后代選擇器元素有什么區別?子代元素是找子節點下的所有元素,后代元素是找子節點或子節點的子節點的元素26 在jquery中可以替換節點嗎?在jQuery中有兩者替換節點的方式replaceWith() 和 replaceAll() 例如:在<p title="hao are you">hao are you</p>替換成<strong>I am fine<strong> ??$('p').replaceWith('<strong> I am fine</strong>');replaceAll 與replaceWith的用法前后調換一下即可。29 你在ajax中使用過JSON嗎,你是如何用的? $.getJSON() 就是用于加載JSON文件的30 有哪些查詢節點的選擇器?:first 查詢第一個, :last 查詢最后一個, :odd查詢奇數但是索引從0開始 :even 查詢偶數, :eq(index)查詢相等的 , :gt(index)查詢大于index的 , :lt查詢小于index :header 選取所有的標題等33 $(document).ready()方法和window.onload有什么區別? 1.window.onload方法是在網頁中所有的元素(包括元素的所有關聯文件)完全加載到瀏覽器后才執行的。 2.$(document).ready() 方法可以在DOM載入就緒時就對其進行操縱,并調用執行綁定的函數。34 jQuery是如何處理緩存的?要處理緩存就是禁用緩存. 1.通過$.post() 方法來獲取數據,那么默認就是禁用緩存的。 2.通過$.get()方法 來獲取數據,可以通過設置時間戳來避免緩存。 可以在URL后面加上+(+new Date) $.get('ajax.xml?'+(+new Date),function () { //內容 }); 3.通過$.ajax 方法來獲取數據,只要設置cache:false即可。35 $.getScript()方法 和 $.getJson() 方法有什么區別? 1. $.getScript() 方法可以直接加載.js文件,并且不需要對javascript文件進行處理,javascript文件 會自動執行。 2.$.getJson() 是用于加載JSON 文件的37 $("#msg").text(); 和 $("#msg").text("<b>new content</b>");有什么區別? 1.$("#msg").text() 是 返回id為msg的元素節點的文本內容 2. $("#msg").text("<b>new content</b>");是 將“<b>new content</b>”作為普通文本串寫入id為 msg的元素節點內容中,頁面顯示粗體的<b>new content</b>38 radio單選組的第二個元素為當前選中值,該怎么去取?$('input[name=items]').get(1).checked = true;39 選擇器中 id,class有什么區別? 在網頁中 每個id名稱只能用一次,class可以允許重復使用40 你使用過哪些數據格式,它們各有什么特點? 1. HTML片段提供外部數據一般來說是最簡單的。 2. 如果數據需要重用,而且其他應用程序也可能一次受到影響,那么在性能和文件大小方面具有優勢的 JSON通常是不錯的選擇。 3.而當遠程應用程序未知時,XML則能夠為良好的互操作性提供最可靠的保證。41 jQuery 能做什么? 1.獲取頁面的元素 2.修改頁面的外觀 3.響應用戶的頁面操作 4.為頁面添加動態效果 5.無需刷新頁面,即可以從服務器獲取信息 6. 簡化常見的javascript任務42 在ajax中data主要有幾種方式? 三種,html拼接的,json數組,form表單經serialize()序列化的。43 :jQuery中的hover()和toggle()有什么區別? 1.hover()和toggle()都是jQuery中兩個合成事件。 2.hover()方法用于模擬光標懸停事件。 3.toggle()方法是連續點擊事件。44 你知道jQuery中的事件冒泡嗎,它是怎么執行的,何如來停止冒泡事件? 1.事件冒泡是從里面的往外面開始觸發。 2.在jQuery中提供了stopPropagation()方法可以停止冒泡。45 例如 單擊超鏈接后會自動跳轉,單擊"提交"按鈕后表單會提交等,有時候我想阻止這些默認的行為, 該怎么辦? 1.可以用 event.preventDefault() 2.在事件處理函數中返回false,即 return false;48.怎樣給jquery動態附加新的元素?那么怎樣給新生成的元素綁定事件呢? 1.jQuery的html()可以給現在元素附加新的元素 2.直接在元素還未生成前就綁定肯定是無效的,因為所綁定的元素目前根本不存在。直接在元素還未生成前 就綁定肯定是無效的,因為所綁定的元素目前根本不存在。50.jquery 中如何將數組轉化為json字符串,然后再轉化回來?jQuery中沒有提供這個功能,所以你需要先編寫兩個jQuery的擴展:$.fn.stringifyArray = function(array) {return JSON.stringify(array)}$.fn.parseArray = function(array) {return JSON.parse(array)}然后調用:$("").stringifyArray(array)JQuery 是一個 JavaScript 庫。功能包括 HTML 元素選取和操作、CSS 操作、HTML 事件函數、 JavaScript 特效和動畫、HTML DOM 遍歷 和修改、AJAX四大選擇器,分別是基本選擇器、層次選擇器、過濾選擇器、屬性過濾選擇器。事件:例如 click()、dblclick()、mouseenter()、mouseleave()、mousedown()等。?
總結
- 上一篇: ajax是什么?
- 下一篇: cookie和session常见问题