jQuery_01

Day01

簡介

  • 百度百科查jQuery
  • 官網(wǎng)
  • 下載地址
    • 壓縮版
    • 非壓縮版
  • 中文文檔
  • 引用操作
    <script type="text/javascript" src="jQuery的地址"></script>
    
  • 優(yōu)化原則
    • 將CSS文件在頁面的頭部<head></head>引入
    • 將JS文件在頁面的尾部</body>之前引入
  • 學習路線
    • 選擇器
    • DOM(Document Object Model)操作
    • 常用函數(shù)
    • 事件
    • 動畫
    • ajax
    • jQuery插件

基本語法

基本語法

jQuery(選擇器).動作();
$(selector).action();

例如:
$(this).hide() - 隱藏當前元素
$("p").hide() - 隱藏所有段落
$("p .test").hide() - 隱藏所有 class="test" 的段落
$("#test").hide() - 隱藏所有 id="test" 的元素

文檔就緒模式

<script type="text/javascript">
    jQuery(document).ready(function () {
        console.log($());
    });
    $(document).ready(function () {
        console.log($());
    });
    $(function () {
        console.log($());
    });
</script>

選擇器

選擇器測試工具

$('*').css('color', 'red');

//多個屬性選擇器: 復合
<a href="#target" data-toggle="dropdown">目標</a>
<a href="#target">輔助驗證</a>
$('[href="#target"][data-toggle="dropdown"]').css('color', 'red');
選擇器 實例 選取
* $("*") 所有元素
#id $("#lastname") id="lastname" 的元素
.class $(".intro") class="intro" 的所有元素
.class,.class $(".intro,.demo") class 為 "intro" 或 "demo" 的所有元素
element $("p") 所有 <p> 元素
el1,el2,el3 $("h1,div,p") 所有 <h1><div><p> 元素
:first $("p:first") 第一個 <p> 元素
:last $("p:last") 最后一個 <p> 元素
:even $("tr:even") 所有偶數(shù) <tr> 元素
:odd $("tr:odd") 所有奇數(shù) <tr> 元素
:first-child $("p:first-child") 屬于其父元素的第一個子元素的所有 <p> 元素
:first-of-type $("p:first-of-type") 屬于其父元素的第一個 <p> 元素的所有 <p> 元素
:last-child $("p:last-child") 屬于其父元素的最后一個子元素的所有 <p> 元素
:last-of-type $("p:last-of-type") 屬于其父元素的最后一個 <p> 元素的所有 <p> 元素
:nth-child(n) $("p:nth-child(2)") 屬于其父元素的第二個子元素的所有 <p> 元素
:nth-last-child(n) $("p:nth-last-child(2)") 屬于其父元素的第二個子元素的所有 <p> 元素,從最后一個子元素開始計數(shù)
:nth-of-type(n) $("p:nth-of-type(2)") 屬于其父元素的第二個 <p> 元素的所有 <p> 元素
:nth-last-of-type(n) $("p:nth-last-of-type(2)") 屬于其父元素的第二個 <p> 元素的所有 <p> 元素丑孩,從最后一個子元素開始計數(shù)
:only-child $("p:only-child") 屬于其父元素的唯一子元素的所有 <p> 元素
:only-of-type $("p:only-of-type") 屬于其父元素的特定類型的唯一子元素的所有 <p> 元素
parent > child $("div > p") <div> 元素的直接子元素的所有 <p> 元素
parent descendant $("div p") <div> 元素的后代的所有 <p> 元素
element + next $("div + p") 每個 <div> 元素相鄰的下一個 <p> 元素
element ~ siblings $("div ~ p") <div> 元素同級的所有 <p> 元素
:eq(index) $("ul li:eq(3)") 列表中的第四個元素(index 值從 0 開始)
:gt(no) $("ul li:gt(3)") 列舉 index 大于 3 的元素
:lt(no) $("ul li:lt(3)") 列舉 index 小于 3 的元素
:not(selector) $("input:not(:empty)") 所有不為空的輸入元素
:header $(":header") 所有標題元素 <h1>, <h2> ...
:animated $(":animated") 所有動畫元素
:focus $(":focus") 當前具有焦點的元素
:contains(text) $(":contains('Hello')") 所有包含文本 "Hello" 的元素
:has(selector) $("div:has(p)") 所有包含有 <p> 元素在其內(nèi)的 <div> 元素
:empty $(":empty") 所有空元素
:parent $(":parent") 選擇所有含有子元素或者文本的父級元素。
:hidden $("p:hidden") 所有隱藏的 <p> 元素
:visible $("table:visible") 所有可見的表格
:root $(":root") 文檔的根元素
:lang(language) $("p:lang(de)") 所有帶有以 "de" 開頭的 lang 屬性值的 <p> 元素
[attribute] $("[href]") 所有帶有 href 屬性的元素
[attribute=value] $("[href='default.htm']") 所有帶有 href 屬性且值等于 "default.htm" 的元素
[attribute!=value] $("[href!='default.htm']") 所有帶有 href 屬性且值不等于 "default.htm" 的元素
[attribute$=value] $("[href$='.jpg']") 所有帶有 href 屬性且值以 ".jpg" 結(jié)尾的元素
[attribute|=value] $("[title|='Tomorrow']") 所有帶有 title 屬性且值等于 'Tomorrow' 或者以 'Tomorrow' 后跟連接符作為開頭的字符串
[attribute^=value] $("[title^='Tom']") 所有帶有 title 屬性且值以 "Tom" 開頭的元素
[attribute~=value] $("[title~='hello']") 所有帶有 title 屬性且值包含單詞 "hello" 的元素
[attribute*=value] $("[title*='hello']") 所有帶有 title 屬性且值包含字符串 "hello" 的元素
:input $(":input") 所有 input 元素
:text $(":text") 所有帶有 type="text" 的 input 元素
:password $(":password") 所有帶有 type="password" 的 input 元素
:checkbox $(":checkbox") 所有帶有 type="checkbox" 的 input 元素
:submit $(":submit") 所有帶有 type="submit" 的 input 元素
:reset $(":reset") 所有帶有 type="reset" 的 input 元素
:button $(":button") 所有帶有 type="button" 的 input 元素
:image $(":image") 所有帶有 type="image" 的 input 元素
:file $(":file") 所有帶有 type="file" 的 input 元素
:enabled $(":enabled") 所有啟用的 input 元素
:disabled $(":disabled") 所有禁用的 input 元素
:selected $(":selected") 所有選定的 input 元素
:checked $(":checked") 所有選中的 input 元素

DOM方法

<input type="checkbox" name="class[]" value="1"> PHP<br>
    <input type="checkbox" name="class[]" value="2" checked="checked"> MySQL
    
    <script type="text/javascript" src="../../jquery-3.4.1.min.js" ></script>
    <script type="text/javascript">
    // 就緒函數(shù)
    $(function(){
        // 使用 attr 方法獲取 checked 屬性
        console.log($('input:first').attr('checked')); //undefined
        console.log($('input:last').attr('checked')); //checked

        // 使用 prop 方法獲取 checked 屬性
        console.log($('input:first').prop('checked')); //false
        console.log($('input:last').prop('checked')); //true
    });  
</script>
image
方法 描述
addClass() 向被選元素添加一個或多個類名
after() 在被選元素后插入內(nèi)容
append() 在被選元素的結(jié)尾插入內(nèi)容
appendTo() 在被選元素的結(jié)尾插入 HTML 元素
attr() 設(shè)置或返回被選元素的屬性/值
before() 在被選元素前插入內(nèi)容
clone() 生成被選元素的副本
css() 為被選元素設(shè)置或返回一個或多個樣式屬性
detach() 移除被選元素(保留數(shù)據(jù)和事件)
empty() 從被選元素移除所有子節(jié)點和內(nèi)容
hasClass() 檢查被選元素是否包含指定的 class 名稱
height() 設(shè)置或返回被選元素的高度
html() 設(shè)置或返回被選元素的內(nèi)容
innerHeight() 返回元素的高度(包含 padding李皇,不包含 border)
innerWidth() 返回元素的寬度(包含 padding,不包含 border)
insertAfter() 在被選元素后插入 HTML 元素
insertBefore() 在被選元素前插入 HTML 元素
offset() 設(shè)置或返回被選元素的偏移坐標(相對于文檔)
offsetParent() 返回第一個定位的祖先元素
outerHeight() 返回元素的高度(包含 padding 和 border)
outerWidth() 返回元素的寬度(包含 padding 和 border)
position() 返回元素的位置(相對于父元素)
prepend() 在被選元素的開頭插入內(nèi)容
prependTo() 在被選元素的開頭插入 HTML 元素
prop() 設(shè)置或返回被選元素的屬性/值
remove() 移除被選元素(包含數(shù)據(jù)和事件)
removeAttr() 從被選元素移除一個或多個屬性
removeClass() 從被選元素移除一個或多個類
removeProp() 移除通過 prop() 方法設(shè)置的屬性
replaceAll() 把被選元素替換為新的 HTML 元素
replaceWith() 把被選元素替換為新的內(nèi)容
scrollLeft() 設(shè)置或返回被選元素的水平滾動條位置
scrollTop() 設(shè)置或返回被選元素的垂直滾動條位置
text() 設(shè)置或返回被選元素的文本內(nèi)容
toggleClass() 在被選元素中添加/移除一個或多個類之間切換
unwrap() 移除被選元素的父元素
val() 設(shè)置或返回被選元素的屬性值(針對表單元素)
width() 設(shè)置或返回被選元素的寬度
wrap() 在每個被選元素的周圍用 HTML 元素包裹起來
wrapAll() 在所有被選元素的周圍用 HTML 元素包裹起來
wrapInner() 在每個被選元素的內(nèi)容周圍用 HTML 元素包裹起來

節(jié)點遍歷

方法 描述
add() 把元素添加到匹配元素的集合中
addBack() 把之前的元素集添加到當前集合中
andSelf() 在版本 1.8 中被廢棄座云。addBack() 的別名
children() 返回被選元素的所有直接子元素
closest() 返回被選元素的第一個祖先元素
contents() 返回被選元素的所有直接子元素(包含文本和注釋節(jié)點)
each() 為每個匹配元素執(zhí)行函數(shù)
end() 結(jié)束當前鏈中最近的一次篩選操作疙赠,并把匹配元素集合返回到前一次的狀態(tài)
eq() 返回帶有被選元素的指定索引號的元素
filter() 把匹配元素集合縮減為匹配選擇器或匹配函數(shù)返回值的新元素
find() 返回被選元素的后代元素
first() 返回被選元素的第一個元素
has() 返回擁有一個或多個元素在其內(nèi)的所有元素
is() 根據(jù)選擇器/元素/jQuery 對象檢查匹配元素集合,如果存在至少一個匹配元素朦拖,則返回 true
last() 返回被選元素的最后一個元素
map() 把當前匹配集合中的每個元素傳遞給函數(shù)圃阳,產(chǎn)生包含返回值的新 jQuery 對象
next() 返回被選元素的后一個同級元素
nextAll() 返回被選元素之后的所有同級元素
nextUntil() 返回介于兩個給定參數(shù)之間的每個元素之后的所有同級元素
not() 從匹配元素集合中移除元素
offsetParent() 返回第一個定位的父元素
parent() 返回被選元素的直接父元素
parents() 返回被選元素的所有祖先元素
parentsUntil() 返回介于兩個給定參數(shù)之間的所有祖先元素
prev() 返回被選元素的前一個同級元素
prevAll() 返回被選元素之前的所有同級元素
prevUntil() 返回介于兩個給定參數(shù)之間的每個元素之前的所有同級元素
siblings() 返回被選元素的所有同級元素 Returns all sibling elements of the selected element
slice() 把匹配元素集合縮減為指定范圍的子集

動畫效果

方法 描述
animate() 對被選元素應(yīng)用"自定義"的動畫
clearQueue() 對被選元素移除所有排隊函數(shù)(仍未運行的)
delay() 對被選元素的所有排隊函數(shù)(仍未運行)設(shè)置延遲
dequeue() 移除下一個排隊函數(shù),然后執(zhí)行函數(shù)
fadeIn() 逐漸改變被選元素的不透明度璧帝,從隱藏到可見
fadeOut() 逐漸改變被選元素的不透明度捍岳,從可見到隱藏
fadeTo() 把被選元素逐漸改變至給定的不透明度
fadeToggle() 在 fadeIn() 和 fadeOut() 方法之間進行切換
finish() 對被選元素停止、移除并完成所有排隊動畫
hide() 隱藏被選元素
queue() 顯示被選元素的排隊函數(shù)
show() 顯示被選元素
slideDown() 通過調(diào)整高度來滑動顯示被選元素
slideToggle() slideUp() 和 slideDown() 方法之間的切換
slideUp() 通過調(diào)整高度來滑動隱藏被選元素
stop() 停止被選元素上當前正在運行的動畫
toggle() hide() 和 show() 方法之間的切換

事件方法

方法 描述
bind() 向元素添加事件處理程序
blur() 添加/觸發(fā) blur 事件
change() 添加/觸發(fā) change 事件
click() 添加/觸發(fā) click 事件
dblclick() 添加/觸發(fā) double click 事件
delegate() 向匹配元素的當前或未來的子元素添加處理程序
die() 在版本 1.9 中被移除睬隶。移除所有通過 live() 方法添加的事件處理程序
error() 在版本 1.8 中被廢棄锣夹。添加/觸發(fā) error 事件
event.currentTarget 在事件冒泡階段內(nèi)的當前 DOM 元素
event.data 包含當前執(zhí)行的處理程序被綁定時傳遞到事件方法的可選數(shù)據(jù)
event.delegateTarget 返回當前調(diào)用的 jQuery 事件處理程序所添加的元素
event.isDefaultPrevented() 返回指定的 event 對象上是否調(diào)用了 event.preventDefault()
event.isImmediatePropagationStopped() 返回指定的 event 對象上是否調(diào)用了 event.stopImmediatePropagation()
event.isPropagationStopped() 返回指定的 event 對象上是否調(diào)用了 event.stopPropagation()
event.namespace 返回當事件被觸發(fā)時指定的命名空間
event.pageX 返回相對于文檔左邊緣的鼠標位置
event.pageY 返回相對于文檔上邊緣的鼠標位置
event.preventDefault() 阻止事件的默認行為
event.relatedTarget 返回當鼠標移動時哪個元素進入或退出
event.result 包含由被指定事件觸發(fā)的事件處理程序返回的最后一個值
event.stopImmediatePropagation() 阻止其他事件處理程序被調(diào)用
event.stopPropagation() 阻止事件向上冒泡到 DOM 樹,阻止任何父處理程序被事件通知
event.target 返回哪個 DOM 元素觸發(fā)事件
event.timeStamp 返回從 1970 年 1 月 1 日到事件被觸發(fā)時的毫秒數(shù)
event.type 返回哪種事件類型被觸發(fā)
event.which 返回指定事件上哪個鍵盤鍵或鼠標按鈕被按下
focus() 添加/觸發(fā) focus 事件
focusin() 添加事件處理程序到 focusin 事件
focusout() 添加事件處理程序到 focusout 事件
hover() 添加兩個事件處理程序到 hover 事件
keydown() 添加/觸發(fā) keydown 事件
keypress() 添加/觸發(fā) keypress 事件
keyup() 添加/觸發(fā) keyup 事件
live() 在版本 1.9 中被移除苏潜。添加一個或多個事件處理程序到當前或未來的被選元素
load() 在版本 1.8 中被廢棄银萍。添加一個事件處理程序到 load 事件
mousedown() 添加/觸發(fā) mousedown 事件
mouseenter() 添加/觸發(fā) mouseenter 事件
mouseleave() 添加/觸發(fā) mouseleave 事件
mousemove() 添加/觸發(fā) mousemove 事件
mouseout() 添加/觸發(fā) mouseout 事件
mouseover() 添加/觸發(fā) mouseover 事件
mouseup() 添加/觸發(fā) mouseup 事件
off() 移除通過 on() 方法添加的事件處理程序
on() 向元素添加事件處理程序
one() 向被選元素添加一個或多個事件處理程序。該處理程序只能被每個元素觸發(fā)一次
$.proxy() 接受一個已有的函數(shù)恤左,并返回一個帶特定上下文的新的函數(shù)
ready() 規(guī)定當 DOM 完全加載時要執(zhí)行的函數(shù)
resize() 添加/觸發(fā) resize 事件
scroll() 添加/觸發(fā) scroll 事件
select() 添加/觸發(fā) select 事件
submit() 添加/觸發(fā) submit 事件
toggle() 在版本 1.9 中被移除贴唇。添加 click 事件之間要切換的兩個或多個函數(shù)
trigger() 觸發(fā)綁定到被選元素的所有事件
triggerHandler() 觸發(fā)綁定到被選元素的指定事件上的所有函數(shù)
unbind() 從被選元素上移除添加的事件處理程序
undelegate() 從現(xiàn)在或未來的被選元素上移除事件處理程序
unload() 在版本 1.8 中被廢棄。添加事件處理程序到 unload 事件

jQuery AJAX 方法

AJAX 是一種與服務(wù)器交換數(shù)據(jù)的技術(shù)飞袋,可以在補充在整個頁面的情況下更新網(wǎng)頁的一部分戳气。

方法 描述
$.ajax() 執(zhí)行異步 AJAX 請求
$.ajaxPrefilter() 在每個請求發(fā)送之前且被 $.ajax() 處理之前,處理自定義 Ajax 選項或修改已存在選項
$.ajaxSetup() 為將來的 AJAX 請求設(shè)置默認值
$.ajaxTransport() 創(chuàng)建處理 Ajax 數(shù)據(jù)實際傳送的對象
$.get() 使用 AJAX 的 HTTP GET 請求從服務(wù)器加載數(shù)據(jù)
$.getJSON() 使用 HTTP GET 請求從服務(wù)器加載 JSON 編碼的數(shù)據(jù)
$.getScript() 使用 AJAX 的 HTTP GET 請求從服務(wù)器加載并執(zhí)行 JavaScript
$.param() 創(chuàng)建數(shù)組或?qū)ο蟮男蛄谢硎拘问剑捎糜?AJAX 請求的 URL 查詢字符串)
$.post() 使用 AJAX 的 HTTP POST 請求從服務(wù)器加載數(shù)據(jù)
ajaxComplete() 規(guī)定 AJAX 請求完成時運行的函數(shù)
ajaxError() 規(guī)定 AJAX 請求失敗時運行的函數(shù)
ajaxSend() 規(guī)定 AJAX 請求發(fā)送之前運行的函數(shù)
ajaxStart() 規(guī)定第一個 AJAX 請求開始時運行的函數(shù)
ajaxStop() 規(guī)定所有的 AJAX 請求完成時運行的函數(shù)
ajaxSuccess() 規(guī)定 AJAX 請求成功完成時運行的函數(shù)
load() 從服務(wù)器加載數(shù)據(jù)巧鸭,并把返回的數(shù)據(jù)放置到指定的元素中
serialize() 編碼表單元素集為字符串以便提交
serializeArray() 編碼表單元素集為 names 和 values 的數(shù)組
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瓶您,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子纲仍,更是在濱河造成了極大的恐慌呀袱,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件郑叠,死亡現(xiàn)場離奇詭異夜赵,居然都是意外死亡,警方通過查閱死者的電腦和手機锻拘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門油吭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人署拟,你說我怎么就攤上這事婉宰。” “怎么了推穷?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵心包,是天一觀的道長。 經(jīng)常有香客問我馒铃,道長蟹腾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任区宇,我火速辦了婚禮娃殖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘议谷。我一直安慰自己炉爆,他們只是感情好,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布卧晓。 她就那樣靜靜地躺著芬首,像睡著了一般。 火紅的嫁衣襯著肌膚如雪逼裆。 梳的紋絲不亂的頭發(fā)上郁稍,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音胜宇,去河邊找鬼耀怜。 笑死,一個胖子當著我的面吹牛掸屡,可吹牛的內(nèi)容都是我干的封寞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼仅财,長吁一口氣:“原來是場噩夢啊……” “哼狈究!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起盏求,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤抖锥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碎罚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磅废,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年荆烈,在試婚紗的時候發(fā)現(xiàn)自己被綠了拯勉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竟趾。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖宫峦,靈堂內(nèi)的尸體忽然破棺而出岔帽,到底是詐尸還是另有隱情,我是刑警寧澤导绷,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布犀勒,位于F島的核電站,受9級特大地震影響妥曲,放射性物質(zhì)發(fā)生泄漏贾费。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一檐盟、第九天 我趴在偏房一處隱蔽的房頂上張望褂萧。 院中可真熱鬧,春花似錦葵萎、人聲如沸箱玷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锡足。三九已至,卻和暖如春壳坪,著一層夾襖步出監(jiān)牢的瞬間舶得,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工爽蝴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沐批,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓蝎亚,卻偏偏與公主長得像九孩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子发框,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354