文章目錄
- 前言
- JQuery基本介紹和使用方法
- 引入依賴
- jQuery語法
- jQuery選擇器
- jQuery事件
- 操作元素
- 獲取/設置元素內容
- 獲取/設置元素屬性
- 獲取/返回css屬性
- 添加元素
- 刪除元素
- 總結:
- 常用的jQuery方法 - 詳細解釋與示例
- 事件處理拓展 - 詳細解釋與示例
- 其他拓展內容
前言
在閱讀過程中可以把代碼片復制到vscode上去瀏覽器看實際效果,更易理解喔😘
JQuery基本介紹和使用方法
W3C 標準給我們提供了?系列的函數, 讓我們可以操作:
- ??內容
- ??結構
- ??樣式
但是原?的JavaScript提供的API操作DOM元素時, 代碼?較繁瑣, 冗?. 我們可以使?JQuery來操作??對象.
jQuery是?個快速、簡潔且功能豐富的JavaScript框架, 于2006年發布. 它封裝JavaScript常?的功能代碼, 提供了簡潔?強?的選擇器和DOM操作?法. 使?JQuery可以輕松地選擇和操作HTML元素,從?減少了開發?員編寫的代碼量,提?了開發效率,
它提供的 API 易于使?且兼容眾多瀏覽器,這讓諸如 HTML ?檔遍歷和操作、事件處理、動畫和 Ajax 操作更加簡單. JQuery對于事件的處理也進?了簡化, 提供了?個簡單的API來綁定、觸發和處理事件,使開發?員能夠更?便地處理各種交互?為.
引入依賴
使?JQuery需要先引?對應的庫
在使?jQuery CDN時,只需要在HTML?檔中加?如下代碼
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
參考地址:jQuery CDN
Jquery官?共提供了4種類型的JQuery庫:
uncompressed : ?壓縮版本(易讀, 但是?件較?, 傳輸速度慢)
minified: 壓縮版(不易讀, ?件?, 性能?, 開發中推薦)
slim: 精簡瘦?版, 沒有Ajax和?些特效
slim minified : slim 的壓縮版
開發時, 建議把JQuery庫下載到本地, 放在當前項?中. 引?外部地址, 會有外部地址不能訪問的?險.
下載?式:
- 通過瀏覽器訪問上述連接
- 右鍵 -> 另存為… 保存到本地, 放在項?中即可.
也可以從其他CDN上下載引?JQuery
?如:
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></scr
jQuery語法
jQuery 語法是通過選取 HTML 元素, 并對選取的元素執?某些操作
基礎語法:
$(selector).action()
-
$() 是?個函數, 它是 jQuery 提供的?個全局函數, ?于選擇和操作 HTML 元素.
-
Selector 選擇器, ?來"查詢"和"查找" HTML 元素
-
action 操作, 執?對元素的操作
JQuery 的代碼通常都寫在 document ready 函數中
document:整個?檔對象, ?個??就是?個?檔對象, 使?document表?.
這是為了防??檔在完全加載(就緒)之前運? jQuery 代碼,即在?檔加載完成后才可以對??進?操作。
如果在?檔沒有完全加載之前就運?函數,操作可能失敗
$(document).ready(function(){// jQuery functions go here
})
示例:
<button type="button">點我消失</button>
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>$(document).ready(function(){$('button').click(function(){$(this).hide();});
});</script>
給按鈕添加了click事件,點擊后元素消失.
簡潔寫法:
$(function(){ // jQuery functions go here });
jQuery選擇器
我們通過JQuery選擇器來選擇?些HTML元素.然后對元素進?操作.
JQuery選擇器基于已經存在的CSS選擇器,除此之外,還有?些?定義的選擇器.
jQuery中所有選擇器都以$
開頭:$
().
語法 | 描述 |
---|---|
$(“*”) | 選取所有元素 |
$(this) | 選取當前 HTML 元素 |
$(“p”) | 所有 元素 |
$(“p:first”) | 選取第一個 元素 |
$(“p:last”) | 最后一個 元素 |
$(“.box”) | 所有 class=“box” 的元素 |
$(“#box”) | id=“box” 的元素 |
$(“.intro.demo”) | 所有 class=“intro” 且 class=“demo” 的元素 |
$(“p.intro”) | 選取 class 為 intro 的 元素 |
$(“ul li:first”) | 選取第一個
|
$(“:input”) | 所有 元素 |
$(“:text”) | 所有 type=“text” 的 元素 |
$(“:checkbox”) | 所有 type=“checkbox” 的 元素 |
jQuery事件
JS要構建動態??,就需要感知到??的?為.
??對于??的?些操作(點擊,選擇,修改等)操作都會在瀏覽器中產??個個事件,被JS獲取到,從?進?更復雜的交互操作.
瀏覽器就是?個哨兵,在偵查敵情(???為).?旦??有反應(觸發具體動作),哨兵就會點燃烽?臺的狼煙(事件),后?就可以根據狼煙來決定下?步的對敵策略.
事件由三部分組成:
- 事件源:哪個元素觸發的
- 事件類型:是點擊,選中,還是修改?
- 事件處理程序:進?步如何處理.往往是?個回調函數.
例如:某個元素的點擊事件:
$("p").click(function(){//動作發?后執?的代碼
});
常?的事件有:
事件 | 代碼 |
---|---|
文檔就緒事件(完成加載) | $(document).ready(function) |
點擊事件 | $(selector).click(function) |
雙擊事件 | $(selector).dblclick(function) |
元素的值發生改變 | $(selector).change(function) |
鼠標懸停事件 | $(selector).mouseover(function) |
操作元素
獲取/設置元素內容
三個簡單的獲取元素內容的JQuery?法:
JQuery方法 | 說明 |
---|---|
text() | 設置或返回所選元素的文本內容 |
html() | 設置或返回所選元素的內容(包括 HTML 標簽) |
val() | 設置或返回表單字段的值 |
**這三個?法即可以獲取元素的內容,?可以設置元素的內容. **
-
有參數時,就進?元素的值設置
-
沒有參數時,就進?元素內容的獲取
代碼示例:
獲取元素內容:
<div id="test"><span>你好</span></div><input type="text" value="hello"><script>$(document).ready(function () {var html = $("#test").html();console.log("html內容為:"+html);var text = $("#test").text();console.log("?本內容為:"+text);var inputVal = $("input").val();console.log(inputVal);});
</script>
設置元素內容:
<div id="test"></div>
<div id="test2"></div>
<input type="text" value=""><script>$(document).ready(function () {$("#test").html('<h1>設置html</h1>');$("#test2").text('<h1>設置text</h1>');$("input").val("設置內容");
});
</script>
獲取/設置元素屬性
JQuery attr()?法?于獲取屬性值.
代碼示例:
獲取元素屬性:
<p><a href="https://www.bitejiuyeke.com/index" id="bite">小明</a></p><script>$(function(){var href = $("p a").attr("href")console.log(href);
});
</script>
設置元素屬性:
<p><a href="https://www.bitejiuyeke.com/index" id="bite">小明</a></p><script>$(function(){$("p a").attr("href","baidu.com")console.log($("p a").attr("href"));
});
</script>
獲取/返回css屬性
css()?法設置或返回被選元素的?個或多個樣式屬性
代碼?例:
獲取元素屬性
<div style="font-size: 36px;">我是?個?本</div><script>$(function(){var fontSize = $("div").css("font-size");console.log(fontSize);
});
</script>
設置元素屬性
<div style="font-size: 36px;">我是?個?本</div><script>$(function(){$("div").css("font-size","24px");
});
</script>
添加元素
添加HTML內容
append()
:在被選元素的結尾插?內容prepend()
:在被選元素的開頭插?內容after()
:在被選元素之后插?內容before()
:在被選元素之前插?內容
<ol><li>List item 1</li><li>List item 2</li><li>List item 3</li>
</ol>
<img src="pic/rose.jpg"><script>$(function () {$("ol").append("<li>append</li>");$("ol").prepend("<li>prepend</li>");$("img").before("圖?前插?");$("img").after("圖?后插?");
});
</script>
刪除元素
刪除元素和內容,?般使?以下兩個jQuery?法:
remove()
:刪除被選元素(及其?元素)empty()
:刪除被選元素的?元素。
代碼示例:
刪除被選元素(及其子元素)
<div id="div1">我是?個div</div>
<button>刪除 div 元素</button><script>$(function () {$('button').click(function(){$('#div1').remove();});
});
</script>
刪除被選元素的子元素
<ol><li>List item 1</li><li>List item 2</li><li>List item 3</li>
</ol>
<button>刪除列表元素</button><script>$(function () {$('button').click(function(){$('ol').empty();});
});
</script>
總結:
常用的jQuery方法 - 詳細解釋與示例
-
text(): 用于獲取或設置所選元素的文本內容。這是最常用的方法之一,特別是在動態更新頁面內容時。
// 獲取文本 var text = $("#elementId").text(); console.log(text); // 打印出元素的文本內容// 設置文本 $("#elementId").text("新的文本內容"); // 此時,頁面上的 #elementId 元素的文本內容會變為 "新的文本內容"
-
html(): 用于獲取或設置所選元素的HTML內容。這對于更新包含HTML標簽的內容非常有用。
// 獲取HTML內容 var htmlContent = $("#elementId").html(); console.log(htmlContent); // 打印出元素的HTML內容// 設置HTML內容 $("#elementId").html("<strong>新的HTML內容</strong>"); // 此時,#elementId 的內容將被替換為粗體的“新的HTML內容”
-
val(): 用于獲取或設置表單元素的值,特別是在表單交互過程中非常有用。
// 獲取表單值 var inputValue = $("#inputId").val(); console.log(inputValue); // 打印出輸入框的當前值// 設置表單值 $("#inputId").val("新值"); // 用戶在 inputId 輸入框中會看到值被更新為 "新值"
-
css(): 獲取或設置CSS屬性,能夠動態地改變元素的樣式,是實現動態交互效果的重要工具。
// 獲取CSS屬性 var backgroundColor = $("#elementId").css("background-color"); console.log(backgroundColor); // 打印出背景顏色屬性的值// 設置CSS屬性 $("#elementId").css("background-color", "blue"); // 此時,#elementId 元素的背景顏色會變為藍色
-
attr(): 獲取或設置HTML元素的屬性值,例如鏈接的href、圖片的src等。
// 獲取屬性值 var hrefValue = $("#linkId").attr("href"); console.log(hrefValue); // 打印出鏈接的 href 屬性值// 設置屬性值 $("#linkId").attr("href", "https://new-url.com"); // 鏈接的目標地址會被更新為 "https://new-url.com"
-
addClass(): 為元素添加一個或多個類,通常用于動態控制樣式的應用。
$("#elementId").addClass("newClass anotherClass"); // 現在,#elementId 元素上會有 "newClass" 和 "anotherClass" 兩個類
-
removeClass(): 移除元素的一個或多個類,通常與addClass()配合使用,用于動態樣式切換。
$("#elementId").removeClass("oldClass anotherOldClass"); // "oldClass" 和 "anotherOldClass" 類將被從 #elementId 元素上移除
-
toggleClass(): 切換元素的類,即如果元素已經有該類,則移除;如果沒有,則添加。適合用于開關狀態的切換。
$("#elementId").toggleClass("activeClass"); // 如果 #elementId 元素當前有 "activeClass" 類,則移除它,否則添加它
事件處理拓展 - 詳細解釋與示例
-
focus(): 當元素獲得焦點時觸發,常用于輸入框的交互。
$("#inputId").focus(function(){$(this).css("background-color", "yellow"); }); // 當用戶點擊或 Tab 鍵進入 #inputId 輸入框時,背景顏色會變為黃色
-
blur(): 當元素失去焦點時觸發,通常用于驗證用戶輸入。
$("#inputId").blur(function(){$(this).css("background-color", "white"); }); // 當用戶離開 #inputId 輸入框時,背景顏色會恢復為白色
-
hover(): 當鼠標懸停在元素上時觸發兩個不同的函數,分別用于鼠標移入和移出。通常用于增強用戶體驗。
$("#elementId").hover(function(){$(this).css("background-color", "lightblue");}, function(){$(this).css("background-color", "lightgrey");} ); // 當鼠標進入 #elementId 元素時,背景顏色變為淺藍色;移出時,變為淺灰色
-
keydown(): 當用戶按下鍵盤按鍵時觸發,適合處理鍵盤事件。
$(document).keydown(function(event){alert("你按下了鍵盤上的按鍵: " + event.key); }); // 當用戶按下任意鍵時,彈出一個包含按鍵字符的警告框
-
submit(): 當表單提交時觸發,通常用于在提交前進行驗證或提交確認。
$("form").submit(function(){alert("表單已提交!"); }); // 用戶提交表單時,彈出提示
-
change(): 當表單元素的值發生變化時觸發,適用于下拉菜單或單選按鈕等。
$("#selectElement").change(function(){alert("選擇的值是: " + $(this).val()); }); // 當用戶選擇不同的選項時,彈出當前選擇的值
其他拓展內容
除了這些基本功能外,jQuery還提供了一些高級功能,例如:
-
animate(): 用于制作復雜動畫。
$("#elementId").animate({opacity: 0.25,left: "+=50",height: "toggle" }, 5000, function() {// 動畫完成后執行的回調函數alert("動畫完成"); }); // 此代碼將使 #elementId 漸漸變透明,同時向右移動50px,并在5秒內切換高度
-
ajax(): 用于進行異步HTTP請求,可以加載數據而無需重新加載頁面。
$.ajax({url: "https://api.example.com/data",type: "GET",success: function(response) {$("#elementId").html(response);},error: function(error) {console.log("請求失敗", error);} }); // 使用GET方法從指定URL加載數據,并在成功時將其顯示在 #elementId 元素中
-
fadeIn() / fadeOut(): 處理淡入淡出效果,常用于顯示或隱藏內容。
$("#elementId").fadeIn(1000); // 元素將在1秒內淡入 $("#elementId").fadeOut(1000); // 元素將在1秒內淡出
-
slideUp() / slideDown(): 實現滑動隱藏和顯示效果。
$("#elementId").slideUp(1000); // 元素將在1秒內向上滑動隱藏 $("#elementId").slideDown(1000); // 元素將在1秒內向下滑動顯示
以上就是關于【前端基礎篇】JavaScript之jQuery介紹的內容啦,各位大佬有什么問題歡迎在評論區指正,您的支持是我創作的最大動力!??