04_jQuery

文章目錄

    • 一、jQuery介紹
      • 1.1、jQuery概述
        • 1.2、jQuery特點
        • 1.3 為什么要用jQuery
    • 二、引入jQuery
      • 2.1、直接引入
      • 2.2、CDN引入
    • 三、jQuery語法
      • 3.1、基本使用
      • 3.2、jQuery事件及常用事件方法
      • 3.3、jQuery選擇器(重點)
        • 3.3.1、基本選擇器
        • 3.3.2、層次選擇器
        • 3.3.3、表單選擇器
        • 3.3.4、過濾選擇器
          • 3.3.4.1、基本過濾選擇器
          • 3.3.4.2、可視化過濾選擇器
          • 3.3.4.3、屬性過濾選擇器
      • 3.4、jQuery遍歷
    • 四、jQuery DOM(重點)
      • 4.1、設置和獲取HTML、文本值
      • 4.2、節點操作
      • 4.3、屬性操作
      • 4.4、CSS操作
    • 五、jQuery效果(了解)
      • 5.1、隱藏和顯示
      • 5.2、淡入淡出

一、jQuery介紹

1.1、jQuery概述

jQuery是一個快速、簡潔的JavaScript代碼庫。jQuery設計的宗旨是“Write Less,Do More”,即倡導寫更少的代碼,做更多的事情。它封裝JavaScript常用的功能代碼,提供一種簡便的JavaScript操作方式,優化HTML文檔操作、事件處理、動畫設計和Ajax交互。

1.2、jQuery特點

具有獨特的鏈式語法;

支持高效靈活的CSS選擇器;

擁有豐富的插件;

兼容各種主流瀏覽器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

1.3 為什么要用jQuery

目前網絡上有大量開源的JavaScript框架,但是jQuery是目前最流行的JavaScript框架,而且提供了大量的擴展。很多大公司都在使用 jQuery, 例如:Google、Microsoft、IBM、Netflix。

二、引入jQuery

2.1、直接引入

去jQuery官網(Download jQuery | jQueryopen in new window)下載,放入服務器的合適目錄中,在頁面中直接引用。

<head><!-- 注意這里的script標簽要成對 --><script src="js/jquery-3.4.1.min.js"></script>
</head>

2.2、CDN引入

CDN的全稱是Content Delivery Network,即內容分發網絡,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。

BootCDN是貓云open in new window聯合Bootstrap 中文網open in new window共同支持并維護的前端開源項目免費CDN服務,致力于為Bootstrap、jQuery、React、Vue.js一樣優秀的前端開源項目提供穩定、快速的免費CDN加速服務。

BootCDN

<head><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>

三、jQuery語法

3.1、基本使用

$(document).ready(匿名函數)表示頁面加載完畢,執行匿名函數。

$(匿名函數)$(document).ready(匿名函數)的簡寫。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>jQuery Start</title><script src="js/jquery-3.4.1.min.js"></script><script>$(document).ready(function () {console.log("hello jquery");});$(function () {console.log("hello jquery");});</script>
</head>
<body>
</body>
</html>

$(選擇器).action()通過選取HTML元素,并對選取的元素執行某些操作。

  • 選擇器表示查找HTML元素的選擇器,和CSS中的選擇器是通用的;
  • action()執行對元素的操作。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>jQuery Start</title><script src="js/jquery-3.4.1.min.js"></script><script>$(function () {$("#p1").text("...");//修改#p1元素的內容$(".c1").hide();//隱藏class為c1的元素});</script>
</head>
<body><p id="p1">這是一個段落</p><p class="c1">這是另一個段落</p>
</body>
</html>

3.2、jQuery事件及常用事件方法

什么是事件?頁面對不同訪問者的響應叫做事件。

事件處理程序指的是當HTML中發生某些事件時所調用的方法。

常見 DOM 事件:

鼠標事件鍵盤事件表單事件文檔/窗口事件
clickkeypresssubmitload
dblclickkeydownchangeresize
mouseenterkeyupfocusscroll
mouseleaveblurunload

jQuery 事件方法語法:

  • 在 jQuery 中,大多數 DOM 事件都有一個等效的jQuery方法

頁面中指定一個點擊事件:

$("p").click();

下一步指定動作觸發后執行的操作

$("p").click(function(){// 動作觸發后執行的代碼!
});

總結:也就是說,不傳參數是點擊,傳參數是設置觸發事件后對應的操作。

3.3、jQuery選擇器(重點)

作用:獲取元素,相當于JavaScript中DOM操作document.getElementXXX();

JQuery選擇器基于元素的Id、類型、屬性、屬性值等,查找或選擇HTML元素,它基于已經存在的CSS選擇器,除此之外,它還有一些自定義的選擇器。

3.3.1、基本選擇器

ID選擇器

  • $("#id"),通過id獲取jQuery元素

類選擇器

  • $(".className"),通過元素的類名來獲取jQuery元素

元素選擇器

  • $("elementName"),通過元素名來獲取jQuery元素

通配選擇器

  • $("*"),匹配所有元素

選擇器合并

  • $("選擇器1,選擇器2,選擇器3, ...."),將每個選擇器匹配到的元素合并到一起返回
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>基本選擇器</title><script type="text/javascript" src="js/jquery-3.4.1.min.js" ></script><script>$(function() {//#btn1  id選擇器//click() 單擊事件$("#btn1").click(function() {//id選擇器//css() css設置$("#p1").css("color", "blue").css("border", "1px solid black").text("hello");//$("#p1").css("border", "1px solid black");});$("#btn2").click(function() {//類選擇器$(".pclass").css("background-color", "cornflowerblue");});$("#btn3").click(function() {//元素選擇器$("p").css("color", "chartreuse");});$("#btn4").click(function() {//通配選擇器$("*").css("background-color", "chocolate");});$("#btn5").click(function() {//選擇器合并$("#p1,h1").css("color", "green");});});</script></head><body><p id="p1">這是段落1</p><p class="pclass">這是段落2</p><p class="pclass">這是段落3</p><p>這是段落4</p><h1>這是一級標題</h1><button id="btn1">id選擇器</button><button id="btn2">類選擇器</button><button id="btn3">元素選擇器</button><button id="btn4">通配選擇器</button><button id="btn5">選擇器合并</button></body>
</html>
3.3.2、層次選擇器

通過DOM元素之間的層次關系來獲取特定元素,后代元素、子元素、相鄰元素和同輩元素等。

  • $("x y")選取x元素里的所有后代元素y
  • $("parent>child")選取parent元素下的child子元素
  • $("prev+next")選取緊接在prev元素后的next元素
  • $("prev~siblings")選取prev元素之后的所有siblings元素

注意:

  • $("div span")會選取div里所有的span元素
  • $("div>span")只會選取div直屬的span子元素
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>層次選擇器</title><script type="text/javascript" src="js/jquery-3.4.1.min.js" ></script><script>$(function() {/*div p 后面所有的子元素div>p 緊挨著的子元素* */$("#btn1").click(function() {//div中所有的p元素$("div p").css("color", "cornflowerblue");});$("#btn2").click(function() {//div下一級的所有p元素$("div>p").css("color", "chartreuse");});$("#btn3").click(function() {//緊接在div后的p元素$("div+p").css("color", "yellow");});$("#btn4").click(function() {//div后面所有的p元素$("div~p").css("color", "yellow");});$("#btn5").click(function() {//div后面所有的元素$("div~*").css("color", "gray");});//$("div").next().css("color", "yellow");//$("div").nextAll().css("color", "yellow");});</script></head><body><div><p>這是段落1</p><span><p>這是段落2</p><span><p>這是段落3</p></span></span><p>這是段落4</p></div><p>這是段落5</p><h5>這是五級標題</h5><p>這是段落6</p><button id="btn1">div中所有的p元素</button><button id="btn2">div中下一級p元素</button><button id="btn3">緊接在div后的p元素</button><button id="btn4">div后面所有的p元素</button><button id="btn5">div后面所有的元素</button></body>
</html>
3.3.3、表單選擇器

為了使用戶能夠更加靈活地操作表單,jQuery中專門加入了表單選擇器。利用表單選擇器,能夠極其方便地獲取到表單的某個或某些類型的元素。

  • $(":input")查詢所有表單元素,包括:input、textarea、select、button
  • $(":text")查詢所有``元素
  • $(":password")查詢所有``元素
  • $(":radio")查詢所有``元素
  • $(":checkbox")查詢所有``元素
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>表單選擇器</title><script type="text/javascript" src="js/jquery-3.4.1.min.js" ></script><script>$(function() {$("#btn1").click(function() {/*:text 文本框val() 文本框中的內容* */var $txt = $(":text").val();console.log($txt);});$("#btn2").click(function() {/*:password密碼框* */var $pwd = $(":password").val();console.log($pwd);});$("#btn3").click(function() {/*prop() 獲取/設置元素的屬性attr() 獲取/設置元素的屬性javascript setAttribute() getAttribute():checkbox 多選框* */console.log($(":checkbox").prop("checked"));});$("#btn4").click(function() {/*:radio 單選按鈕* */console.log($(":radio").prop("checked"));});$("#btn5").click(function() {var $txt = $("div>:text").val();console.log($txt);});$(".divclass1").css("color", "yellow");$(".divclass2").css("border", "1px solid black");$(".divclass3").css("background-color", "cadetblue");});</script></head><body>文本框<input type="text" /><br/>密碼框<input type="password" /><br/>多選框<input type="checkbox" /><br/>單選按鈕<input type="radio" /><br/><div>div里面的text<input type="text"/></div><button id="btn1">文本框</button><button	id="btn2">密碼框</button><button	id="btn3">多選框</button><button id="btn4">單選按鈕</button><button id="btn5">div里面的text</button><!-- bootstrap --><div class="divclass1 divclass2 divclass3">1111</div></body>
</html>
3.3.4、過濾選擇器

過濾選擇器主要是通過特定的過濾規則來篩選出所需的DOM元素。

3.3.4.1、基本過濾選擇器

:first $(“p:first”)選取第一個p元素

:last $(“p:last”) 選取最后一個p元素

:even偶數元素 $(“tr:even”) 所有偶數tr元素

:odd奇數元素 $(“tr:odd”) 所有奇數 tr元素

:eq(index) $(“ul li:eq(3)”) 列表中第四個元素(index從0開始)

:gt(no) $(“ul li:gt(3)”)列出index大于3的元素

:lt(no) 小于…元素

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>基本過濾選擇器</title><script type="text/javascript" src="js/jquery-3.4.1.min.js" ></script><style>table, tr, td, th{border: 1px solid black;}table {border-collapse: collapse;width: 500px;text-align: center;}td[colspan]{text-align: left;}</style><script>$(function() {/*基本過濾選擇器:first 第一個元素:last  最后一個元素:even  偶數:eq(index) 第index個元素:gt(index) 大于index的元素:lt(index) 小于index的元素* */$("tr:first,tr:last").css("background-color", "blue");$(".info:even").css("background-color", "cyan");$(".info:odd").css("background-color", "burlywood");$("p:eq(3)").css("color", "yellow");$("p:gt(0)").css("border", "1px solid yellow");$("p:lt(3)").css("border", "1px solid black");});</script></head><body><table><tr><th>姓名</th><th>性別</th><th>年齡</th></tr><tr class="info"><td>zhangsan</td><td></td><td>20</td></tr><tr class="info"><td>Tom</td><td></td><td>10</td></tr><tr class="info"><td>Lucy</td><td></td><td>10</td></tr><tr class="info"><td>Robin</td><td></td><td>20</td></tr><tr><td colspan="3">備注:這是一個信息表</td></tr></table><p>這是段落1</p><p>這是段落2</p><p>這是段落3</p><p>這是段落4</p></body>
</html>
3.3.4.2、可視化過濾選擇器

$("div:hidden") 選擇所有的被hidden的div元素

$("div:visible") 選擇所有的可視化的div元素

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>可視化過濾選擇器</title><script type="text/javascript" src="js/jquery-3.4.1.min.js" ></script><script>$(function() {$("#div2").hide();//隱藏//$("#div2").show();//顯示/*:hidden 隱藏的元素:visible 可見的元素 * */$("#btn1").click(function() {$("div:hidden").show();});$("#btn2").click(function() {$("div:visible").hide();});$("div[aaa]").text("*****");});</script></head><body><div id="div1">111111111111111111111111111</div><div id="div2">2222222222222222222222222222</div><button id="btn1">讓隱藏的元素顯示</button><button id="btn2">讓顯示的元素隱藏</button><div aaa="bbb"></div></body>
</html>

調查問卷

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>可視化選擇器</title><style>#input_lang {display: none;}</style><script src="js/jquery-3.4.1.min.js"></script><script>$(function () {$('#ch_other').click(function () {$('#input_lang:hidden').show()})$('.lang').click(function () {$('#input_lang:visible').hide()})})</script>
</head>
<body><div><p>請選擇你心目中最好的編程語言</p><p>Java<input class="lang" type="radio" name="lang" /></p><p>Python<input class="lang" type="radio" name="lang" /></p><p>JavaScript<input class="lang" type="radio" name="lang" /></p><p>PHP<input class="lang" type="radio" name="lang" /></p><p>Kotlin<input class="lang" type="radio" name="lang" /></p><p>其他 <input id="ch_other" type="radio" name="lang" /></p><p id="input_lang"><input type="text" name="input_lang" /></p></div>
</body>
</html>
3.3.4.3、屬性過濾選擇器

$("div[id]") 選擇所有含有id屬性的div元素,$(“div[id]:eq(2)”)

$("input[name='newsletter']") 選擇所有的name屬性等于’newsletter’的input元素

$("input[name!='newsletter']") 選擇所有的name屬性不等于’newsletter’的input元素

$("input[name^='news']") 選擇所有的name屬性以’news’開頭的input元素

$("input[name$='news']") 選擇所有的name屬性以’news’結尾的input元素

$("input[name*='man']") 選擇所有的name屬性包含’man’的input元素

$("input[id][name$='man']") 可以使用多個屬性進行聯合選擇,該選擇器是得到所有的含有id屬性并且name屬性以man結尾的元素

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>屬性過濾選擇器</title><script type="text/javascript" src="js/jquery-3.4.1.min.js" ></script><script>$(function() {//$("p[class]") 選取含有class屬性的p標簽//$("p[class]").css("border", "1px solid black");//$("p[id=p1]") 選擇id屬性為p1的標簽//$("p[id=p1]").css("color", "yellow");//$("p[id!=p1]") 選擇id屬性不等于p1的標簽//$("p[id!=p1]").css("color", "yellow");//$("p[class^=pclass]") 選擇class屬性以pclass開頭的標簽//$("p[class^=pclass]").css("color", "yellow");//$("p[class$=1]") 選擇class屬性以1結尾的標簽//$("p[class$=1]").css("color", "yellow");//$("p[class*=p]") 選擇class屬性包含p的標簽//$("p[class*=p]").css("color", "yellow");		$("p[id][class^=p]").css("color", "yellow");});</script></head><body><p id="p1" class="pclass">這是段落1</p><p class="pclass1">這是段落2</p><p class="pclass2">這是段落3</p><p class="p2">這是段落4</p><p>這是段落5</p></body>
</html>

3.4、jQuery遍歷

查詢到的元素可能不只一個,有時我們需要循環遍歷,這時需要使用each()方法來完成。

each()方法的參數是函數,每次循環都會調用一次這個函數。

在函數內部可以使用$(this)來獲取當前遍歷到的元素。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>遍歷</title><script src="js/jquery-3.4.1.min.js"></script><script>$(function () {$("p").each(function () {console.log($(this).text());});});</script>
</head>
<body><p>段落1</p><p>段落2</p><p>段落3</p><p>段落4</p><p>段落5</p>
</body>
</html>

next()等價于$("prev + next"),緊接在prev元素后的next元素

nextAll()等價于$("prev~siblings"),prev元素之后的所有siblings元素

siblings()選擇所有同輩節點

children()獲取匹配元素的所有子元素

parent() 獲取匹配元素的父元素

parents()獲取匹配元素的所有父元素

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>遍歷</title><script src="js/jquery-3.4.1.min.js"></script><script>$(function () {//之后的元素console.log($("#div1").next().text());//之后的所有元素$("#div1").nextAll().each(function () {console.log($(this).text());});//同輩節點$("#p3").siblings().each(function () {$(this).css("color", "#eeaabb");});//所有子節點$("#div1").children().css("border", "1px solid black");});</script>
</head>
<body><div id="div1"><p>段落1</p><p>段落2</p></div><p id="p3">段落3</p><p>段落4</p><p>段落5</p>
</body>
</html>

四、jQuery DOM(重點)

4.1、設置和獲取HTML、文本值

HTML的操作方法

  • html():獲取元素的HTML
  • html(val):設置元素的HTML

文本內容的操作方法

  • text():獲取元素的文本內容
  • text(txt):設置元素的文本內容

value的操作方法

  • val():獲取元素的value內容
  • val(val):設置元素的value內容
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>登錄</title><style>table {width: 500px;margin: auto;}</style><script src="js/jquery-3.4.1.min.js"></script><script>//非空校驗function checkEmpty(id, infoId, info) {if($(id).val() == '') {$(infoId).text(info);return false;}return true;}//校驗所有function checkAll() {if(checkEmpty("#username", "#usernameInfo", "用戶名不能為空") && checkEmpty("#password", "#passwordInfo", '密碼不能為空')) {return true;}return false;}function clearInfo(infoId) {$(infoId).text("");}$(function () {$("#username").blur(function () {checkEmpty("#username", "#usernameInfo", "用戶名不能為空");}).focus(function () {clearInfo("#usernameInfo");});$("#password").blur(function () {checkEmpty("#password", "#passwordInfo", '密碼不能為空');}).focus(function () {clearInfo("#passwordInfo");});$("#fm").submit(function (e) {if(!checkAll()) {e.preventDefault();}});});</script>
</head>
<body><form id="fm" action="#" method="post"><table><tr><td><label for="username">賬號</label></td><td><input id="username" type="text"/></td><td><span id="usernameInfo"></span></td></tr><tr><td><label for="password">密碼</label></td><td><input id="password" type="password"/></td><td><span id="passwordInfo"></span></td></tr><tr><td colspan="3" style="text-align: center;"><button type="submit">登錄</button></td></tr></table></form>
</body>
</html>

4.2、節點操作

創建節點

  • $(html),該方法會根據傳入的html字符串返回一個DOM對象

插入節點

  • append()向每個匹配的元素內部追加內容

  • appendTo()
    

    將所有匹配的元素追加到指定的元素中

    • 使用該方法是顛倒了常規的$(A).append(B)的操作,即不是將B追加到A中,而是將A追加到B中
  • prepend()每個匹配的元素內部前置內容

  • prependTo()
    

    將所有匹配的元素前置到指定的元素中

    • 使用該方法是顛倒了常規的$(A).prepend(B)的操作,即不是將B前置到A中,而是將A前置到B中
  • after()在每個匹配的元素之后插入內容

  • insertAfter()
    

    將所有匹配的元素插入到指定元素的后面

    • 使用該方法是顛倒了常規的$(A).after(B)的操作,即不是將B插入到A后面,而是將A插入到B后面
  • before()在每個匹配元素之前插入內容

  • insertBefore()
    

    將所有匹配的元素插入到指定的元素的前面

    • 使用該方法是顛倒了常規的$(A).before(B)的操作,即不是將B插入到A前面,而是將A插入到B前面

查找結點

  • 通過選擇器查找

刪除節點

  • remove()
    

    從DOM中刪除所有匹配的元素

    • 當某個節點用remove()方法刪除后,該節點所包含的所有后代節點將同時被刪除
  • empty()該方法不刪除節點,而是清空節點,它能清空元素中的所有后代節點

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>元素操作</title><script type="text/javascript" src="../js/jquery-3.3.1.min.js" ></script><style>#main {margin: 0 auto;/*設置整個盒子居中,一定要設置寬度*/width: 500px;}p {text-align: center;/*設置段落中的內容居中*/}table {width: 500px;border-collapse: collapse;/*去除邊框中間的空白區域*/}table, tr, td {border: 1px solid black;}</style><script>/*$(html) 創建表示html的節點append() 在元素內部追加* */function addItem() {//獲取tablevar $tb = $("#tb1");//獲取表示行的節點var $line = $("<tr></tr>");//創建存放姓名的單元格var $tdName = $("<td></td>");//獲取表單中的姓名var $txtName = $("#username").val();//設置單元格的內容$tdName.text($txtName);//創建存放年齡的單元格var $tdAge = $("<td></td>");//獲取表單中的年齡var $txtAge = $("#age").val();//設置單元格的內容$tdAge.text($txtAge);//創建存放電話的單元格var $tdTel = $("<td></td>");//獲取表單中的電話var $txtTel = $("#tel").val();//設置單元格的內容$tdTel.text($txtTel);//創建存放刪除按鈕的單元格var $tdDel = $("<td></td>");//創建按鈕var $btnDel = $("<button>刪除</button>");$btnDel.prop("type", "button");//為刪除按鈕設置單擊事件,刪除按鈕所在行$btnDel.click(function() {$(this).parent().parent().remove();});//將按鈕放入單元格中$tdDel.append($btnDel);//在行中追加元素$line.append($tdName);$line.append($tdAge);$line.append($tdTel);$line.append($tdDel);//將行追加到table中$tb.append($line);}$(function() {$("#btnAdd").click(function() {addItem();});});</script></head><body><div id="main"><div id="divform"><form><p><label>姓名</label><input type="text" id="username" /></p><p><label>年齡</label><input type="text" id="age" /></p><p><label>電話</label><input type="text" id="tel"/></p><p><button type="button" id="btnAdd">添加</button></p></form></div><hr/><div id="divtable"><table id="tb1"><tr><td>姓名</td><td>年齡</td><td>電話</td><td>操作</td></tr></table></div></div></body>
</html>

另一個案例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title></title><script src="js/jquery-3.4.1.min.js"></script><script>$(function () {$("#allToRight").click(function () {$("#selectLeft option").each(function () {$("#selectRight").append($(this));});});$("#allToLeft").click(function () {$("#selectRight option").each(function () {$("#selectLeft").append($(this));});});$("#checkToRight").click(function () {$("#selectLeft option").each(function () {if($(this).prop("selected")) {$("#selectRight").append($(this));}});});$("#checkToLeft").click(function () {$("#selectRight option").each(function () {if($(this).prop("selected")) {$("#selectLeft").append($(this));}});});});</script>
</head>
<body><div id="s1" style="float:left;"><div><select id="selectLeft" multiple="multiple" style="width:100px;height:200px;"><option>Java</option><option>Python</option><option>C++</option><option>C#</option><option>JavaScript</option></select></div><div><button id="checkToRight" type="button">選中添加到右邊</button><br/><button id="allToRight" type="button">全部添加到右邊</button></div></div><div id="s2" style="float: left;"><div><select id="selectRight" multiple="multiple" style="width:100px;height:200px;"><option>Perl</option></select></div><div><button id="checkToLeft" type="button">選中添加到左邊</button><br/><button id="allToLeft" type="button">全部添加到左邊</button></div></div>
</body>
</html>

4.3、屬性操作

attr(name)讀取指定屬性的值

attr(name, value)設置指定屬性的值

removeAttr(name)刪除指定屬性

prop()
  • 如果有相應的屬性,返回指定屬性值
  • 如果沒有相應的屬性,返回值是空字符串
  • 處理元素本來就有的屬性
attr()
  • 如果有相應的屬性,返回指定屬性值
  • 如果沒有相應的屬性,返回值是undefined
  • 處理自定義屬性
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>全選</title><script type="text/javascript" src="../js/jquery-3.3.1.min.js" ></script><script>$(function() {$("#btnAll").click(function() {var $hobbys = $(".hobby");$hobbys.each(function() {//$(this)表示當前遍歷到的元素$(this).prop("checked", true);});});$("#btnNo").click(function() {var $hobbys = $(".hobby");$hobbys.each(function() {$(this).prop("checked", false);});});$("#btnOpt").click(function() {var $hobbys = $(".hobby");$hobbys.each(function() {var $state = $(this).prop("checked");$(this).prop("checked", !$state);});});$("#allOrNot").change(function() {var $hobbys = $(".hobby");var $state = $(this).prop("checked");$hobbys.each(function() {$(this).prop("checked", $state);});});});</script></head><body><form><p>你喜歡的運動是?<input id="allOrNot" type="checkbox"/>全選/全不選</p><p><input type="checkbox" class="hobby" />足球<input type="checkbox" class="hobby" />籃球<input type="checkbox" class="hobby" />乒乓球<input type="checkbox" class="hobby" />拳擊</p><p><button type="button" id="btnAll">全選</button><button type="button" id="btnNo">全不選</button><button type="button" id="btnOpt">反選</button><button type="submit">提交</button></p></form></body>
</html>

4.4、CSS操作

css(name)獲取指定名稱的樣式值

css(name,value)設置指定名稱的樣式值

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS</title><script src="js/jquery-3.4.1.min.js"></script><script>$(function () {$("#p1").css("text-align", "right");});</script>
</head>
<body><p id="p1">這是一個段落</p>
</body>
</html>

五、jQuery效果(了解)

5.1、隱藏和顯示

hide()隱藏html元素

show()顯示html元素

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><script src="js/jquery-3.4.1.min.js"></script><script>$(function(){$("#hide").click(function(){$("p").hide();});$("#show").click(function(){$("p").show();});});</script>
</head>
<body><p>如果你點擊“隱藏” 按鈕,我將會消失。</p><button id="hide">隱藏</button><button id="show">顯示</button>
</body>
</html>
$(selector).hide(speed,callback);
$(selector).show(speed,callback);

可選的speed參數規定隱藏/顯示的速度,可以取以下值:“slow”、“fast” 或毫秒。

可選的callback參數是隱藏或顯示完成后所執行的函數名稱。

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><script src="js/jquery-3.4.1.min.js"></script><script>$(document).ready(function(){$("button").click(function(){//$("p").hide(1000);//$("p").hide("slow");//$("p").hide("fast");$("p").hide(1000, function(){alert("Hide() 方法已完成!");});});});</script>
</head>
<body><button>隱藏</button><p>這是個段落,內容比較少。</p><p>這是另外一個小段落</p>
</body>
</html>

可以使用toggle()方法來切換hide()和show()方法。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="js/jquery-3.4.1.min.js"></script>
<script>$(document).ready(function(){$("button").click(function(){$("p").toggle();});});
</script>
</head>
<body><button>隱藏/顯示</button><p>這是一個文本段落。</p><p>這是另外一個文本段落。</p>
</body>
</html>

5.2、淡入淡出

fadeIn()用于淡入已隱藏的元素

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><script src="js/jquery-3.4.1.min.js"></script><script>$(document).ready(function(){$("button").click(function(){$("#div1").fadeIn();$("#div2").fadeIn("slow");$("#div3").fadeIn(3000);});});</script>
</head><body><p>以下實例演示了 fadeIn() 使用了不同參數的效果。</p><button>點擊淡入 div 元素。</button><br><br><div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div><br><div id="div2" style="width:80px;height:80px;display:none;background-color:green;"></div><br><div id="div3" style="width:80px;height:80px;display:none;background-color:blue;"></div>
</body>
</html>

fadeOut()方法用于淡出可見元素

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="js/jquery-3.4.1.min.js"></script>
<script>$(document).ready(function(){$("button").click(function(){$("#div1").fadeOut();$("#div2").fadeOut("slow");$("#div3").fadeOut(3000);});});
</script>
</head><body><p>以下實例演示了 fadeOut() 使用了不同參數的效果。</p><button>點擊淡出 div 元素。</button><br><br><div id="div1" style="width:80px;height:80px;background-color:red;"></div><br><div id="div2" style="width:80px;height:80px;background-color:green;"></div><br><div id="div3" style="width:80px;height:80px;background-color:blue;"></div>
</body>
</html>

fadeToggle()方法可以在 fadeIn() 與 fadeOut() 方法之間進行切換

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><script src="js/jquery-3.4.1.min.js"></script><script>$(document).ready(function(){$("button").click(function(){$("#div1").fadeToggle();$("#div2").fadeToggle("slow");$("#div3").fadeToggle(3000);});});</script>
</head>
<body><p>實例演示了 fadeToggle() 使用了不同的 speed(速度) 參數。</p><button>點擊淡入/淡出</button><br><br><div id="div1" style="width:80px;height:80px;background-color:red;"></div><br><div id="div2" style="width:80px;height:80px;background-color:green;"></div><br><div id="div3" style="width:80px;height:80px;background-color:blue;"></div>
</body>
</html>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77300.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77300.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77300.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Adruino:傳感器及步進電機

一、傳感器* 1、溫濕度傳感器 DHT11它采用專用的數字采集技術和溫濕度傳感器技術&#xff0c;包括一個電阻式感濕元件和NTC測溫元件&#xff0c;并與一個高性能的8位單片機連接。DATA端采用串行接口&#xff08;單線雙向&#xff09;與微控制器進行同步和通信。 DHT11的供電電…

高中數學聯賽模擬試題精選第18套幾何題

在 △ A B C \triangle ABC △ABC 中, A B < A C AB< AC AB<AC, 點 K K K, L L L, M M M 分別是邊 B C BC BC, C A C A CA, A B AB AB 的中點. △ A B C \triangle ABC △ABC 的內切圓圓心為 I I I, 且與邊 B C BC BC 相切于點 D D D. 直線 l l l 經過線段…

ubantu18.04(Hadoop3.1.3)之Spark安裝和編程實踐

說明&#xff1a;本文圖片較多&#xff0c;耐心等待加載。&#xff08;建議用電腦&#xff09; 注意所有打開的文件都要記得保存。 第一步&#xff1a;準備工作 本文是在之前Hadoop搭建完集群環境后繼續進行的&#xff0c;因此需要讀者完成我之前教程的所有操作。 以下所有操…

DCDC芯片,boost升壓電路設計,MT3608 芯片深度解析:從架構到設計的全維度技術手冊

一、硬件架構解析:電流模式升壓 converter 的核心設計 (一)電路拓撲與核心組件 MT3608 采用恒定頻率峰值電流模式升壓(Boost)轉換器架構,核心由以下模塊構成: 集成功率 MOSFET 內置 80mΩ 導通電阻的 N 溝道 MOSFET,漏極(Drain)對應引腳 SW,源極(Source)內部接…

Java 日志:掌握本地與網絡日志技術

日志記錄是軟件開發中不可或缺的一部分&#xff0c;它為開發者提供了洞察應用程序行為、診斷問題和監控性能的手段。在 Java 生態系統中&#xff0c;日志框架如 Java Util Logging (JUL)、Log4j 和 Simple Logging Facade for Java (SLF4J) 提供了豐富的功能。然而&#xff0c;…

上位機知識篇---時鐘分頻

文章目錄 前言 前言 本文簡單介紹了一下時鐘分頻。時鐘分頻&#xff08;Clock Division&#xff09;是數字電路設計中常見的技術&#xff0c;用于將高頻時鐘信號轉換為較低頻率的時鐘信號&#xff0c;以滿足不同模塊的時序需求。它在處理器、FPGA、SoC&#xff08;片上系統&am…

推薦幾個免費提取音視頻文案的工具(SRT格式、通義千問、飛書妙記、VideoCaptioner、AsrTools)

文章目錄 1. 前言2. SRT格式2.1 SRT 格式的特點2.2 SRT 文件的組成2.3 SRT 文件示例 3. 通義千問3.1 官網3.2 上傳音視頻文件3.3 導出文案 4. 飛書妙記4.1 官網4.2 上傳音視頻文件4.3 導出文案4.4 缺點 5. VideoCaptioner5.1 GitHub地址5.2 下載5.2.1 通過GitHub下載5.2.2 通過…

Linux深度探索:進程管理與系統架構

1.馮諾依曼體系結構 我們常見的計算機&#xff0c;如筆記本。我們不常見的計算機&#xff0c;如服務器&#xff0c;大部分都遵守馮諾依曼體系。 截至目前&#xff0c;我們所認識的計算機&#xff0c;都是由?個個的硬件組件組成。 輸入設備&#xff1a;鍵盤&#xff0c;鼠標…

觀察者模式 (Observer Pattern)

觀察者模式(Observer Pattern)是一種行為型設計模式。它定義了一種一對多的依賴關系,讓多個觀察者對象同時監聽某一個主題對象。當主題對象的狀態發生變化時,會自動通知所有觀察者對象,使它們能夠自動更新自己的狀態。 一、基礎 1. 意圖 核心目的:定義對象間的一種一對…

Network.framework 的引入,不是為了取代 URLSession

Network.framework 的引入&#xff0c;不是為了取代 URLSession 如果你感覺 Network.framework 的引入, 可能是為了取代 URLSession, 那你就大錯特錯了&#xff01;這里需要非常準確地區分一下&#xff1a; &#x1f535; Network.framework 不是為了取代 URLSession。 &…

Redis 數據分片三大方案深度解析與 Java 實戰

Redis 數據分片是將數據分散存儲在多個 Redis 實例上的技術&#xff0c;以解決單個 Redis 實例在存儲容量、性能和可用性上的限制。常見的 Redis 數據分片方案包括客戶端分片、代理分片和Redis Cluster&#xff08;集群分片&#xff09;&#xff0c;以下為你詳細介紹&#xff1…

FreeBSD可以不經過windows服務器訪問windows機器上的共享文件嗎?

答案是&#xff1a;當然可以&#xff01; 使用sharity-light 軟件 可以使用sharity-light 軟件&#xff0c;直接不用安裝samba等軟件&#xff0c;直接訪問windows機器上的共享文件。 但是可惜的是&#xff0c;sharity-light在FreeBSD的ports里棄用了。看來是從FreeBSD 8 就開…

主流 LLM 部署框架

主流 LLM 部署框架 框架主要特點適用場景vLLM- 超快推理&#xff08;高吞吐&#xff09; - 動態批處理 - 支持 HuggingFace Transformer - 支持 PagedAttention高并發、低延遲在線推理TGI (Text Generation Inference)- Huggingface官方出品 - 多模型管理 - 支持動態量化 - 支持…

在 Vue 3 setup() 函數中使用 TypeScript 處理 null 和 undefined 的最佳實踐

在 Vue 3 中使用 setup() 函數和 TypeScript 時&#xff0c;null 和 undefined 是兩個需要特別關注的類型。雖然它們看起來都表示“沒有值”&#xff0c;但它們在 JavaScript 和 TypeScript 中有著不同的含義和使用場景。如果不小心處理它們&#xff0c;可能會導致潛在的 bug 或…

在 UniApp 中獲取當前頁面地址

在 UniApp 中獲取當前頁面地址&#xff0c;可以通過以下步驟實現&#xff1a; 方法說明&#xff1a; 獲取當前頁面實例&#xff1a;使用 getCurrentPages() 獲取頁面棧數組&#xff0c;最后一個元素即為當前頁面實例。 提取頁面路徑和參數&#xff1a;從頁面實例的 route 屬性…

【華為】防火墻雙擊熱備-之-主備模式-單外網線路-分享

FW1和FW2的業務接口都工作在三層&#xff0c;上行連接二層交換機。上行交換機連接運營商的接入點&#xff0c;運營商為企業分配的IP地址為100.100.100.2。現在希望FW1和FW2以主備備份方式工作。正常情況下&#xff0c;流量通過FW1轉發&#xff1b;當FW1出現故障時&#xff0c;流…

crossOriginLoading使用說明

1. 說明 此配置用于控制 Webpack 動態加載的代碼塊&#xff08;chunk&#xff09;&#xff08;例如代碼分割或懶加載的模塊&#xff09;在跨域&#xff08;不同域名&#xff09;加載時的行為。它通過為動態生成的 <script>標簽添加 crossorigin 屬性&#xff0c;確保符合…

windows中安裝VMware Workstation Pro虛擬機和ubuntu

目錄 一、安裝 VMware Workstation Pro 虛擬機 1、官網下載VMware Workstation Pro 1.1 選中 "VMware Workstation Pro for PC" 的 "DOWNLOAD NOW" 1.2 跳轉到broadcom登錄頁面 1.3 注冊賬號 1.4 輸入給郵箱收到的驗證碼信息&#xff0c;然后點擊”Verify…

如何快速輕松地恢復未保存的 Word 文檔:簡短指南

文字處理器已經存在了幾十年&#xff0c;其中許多已經變得非常擅長防止問題。丟失未保存的數據是一個常見問題&#xff0c;因此辦公軟件通常帶有恢復文件的方法。在本文中&#xff0c;我們將介紹如何恢復 Word 文檔&#xff0c;即使您尚未保存它。 確保數據安全的最佳方法是保…

JavaScript原生實現簡單虛擬列表(列表不定高)

本文首發在我的個人博客上&#xff1a;JavaScript原生實現簡單虛擬列表(列表不定高)https://www.brandhuang.com/article/1745637125513 前言 之前實現了一個定高版本的虛擬列表&#xff0c;今天在定高版本的基礎上稍作調整&#xff0c;來實現不定高版本&#xff0c;之前的版本…