進擊的Python【第十六章】:Web前端基礎之jQuery
阿新 • • 發佈:2017-10-31
name cat 隱藏 function wid get val 綁定 des 3.X
進擊的Python【第十六章】:Web前端基礎之jQuery
一、什麽是 jQuery ?
jQuery是一個JavaScript函數庫。
jQuery是一個輕量級的"寫的少,做的多"的JavaScript庫。
jQuery庫包含以下功能:
- HTML 元素選取
- HTML 元素操作
- CSS 操作
- HTML 事件函數
- JavaScript 特效和動畫
- HTML DOM 遍歷和修改
- AJAX
- Utilities
提示: 除此之外,Jquery還提供了大量的插件。
這裏有一個jquery操作速查網站:http://jquery.cuishifeng.cn/
jquery有三個版本:
1.X 2.X
原則上是最新最好,最新的代表最新最高級的功能,但是也包含了最新的未被發現的bug,而且對老版本的瀏覽器不支持,兼容性相對1.X版本要差,這裏推薦1.X版本,兼容性最好,功能也不差。
下載
官網:https://jquery.com/
這裏提供1.12.4的下載鏈接
https://code.jquery.com/jquery-1.12.4.js
https://code.jquery.com/jquery-1.12.4.min.js (這是壓縮版)
一、查找元素
導入jquery
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script src="jquery-1.12.4.js"></script> </body> </html>
查找元素
選擇器 | 實例 | 選取 |
---|---|---|
* | $("*") | 所有元素 |
#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") | 所有偶數 <tr> 元素,索引值從 0 開始,第一個元素是偶數 (0),第二個元素是奇數 (1),以此類推。 |
:odd | $("tr:odd") | 所有奇數 <tr> 元素,索引值從 0 開始,第一個元素是偶數 (0),第二個元素是奇數 (1),以此類推。 |
: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> 元素,從最後一個子元素開始計數 |
:nth-of-type(n) | $("p:nth-of-type(2)") | 屬於其父元素的第二個 <p> 元素的所有 <p> 元素 |
:nth-last-of-type(n) | $("p:nth-last-of-type(2)") | 屬於其父元素的第二個 <p> 元素的所有 <p> 元素,從最後一個子元素開始計數 |
: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> 元素在其內的 <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" 結尾的元素 |
[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" 的元素 |
[name=value][name2=value2] | $( "input[id][name$=‘man‘]" ) | 帶有 id 屬性,並且 name 屬性以 man 結尾的輸入框 |
:input | $(":input") | 所有 input 元素 |
:text | $(":text") | 所有帶有 type="text" 的 input 元素 |
:password | $(":password") | 所有帶有 type="password" 的 input 元素 |
:radio | $(":radio") | 所有帶有 type="radio" 的 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") | 所有啟用的元素 |
:disabled | $(":disabled") | 所有禁用的元素 |
:selected | $(":selected") | 所有選定的下拉列表元素 |
:checked | $(":checked") | 所有選中的復選框選項 |
.selector | $(selector).selector | 在jQuery 1.7中已經不被贊成使用。返回傳給jQuery()的原始選擇器 |
:target | $( "p:target" ) | 選擇器將選中ID和URI中一個格式化的標識符相匹配的<p>元素 |
二、操作元素
篩選
$(‘#i1‘).next() $(‘#i1‘).nextAll() $(‘#i1‘).nextUntil(‘#ii1‘) <div> <a>asdf</a> <a>asdf</a> <a id=‘i1‘>asdf</a> <a>asdf</a> <a id=‘ii1‘>asdf</a> <a>asdf</a> </div> $(‘#i1‘).prev() $(‘#i1‘).prevAll() $(‘#i1‘).prevUntil(‘#ii1‘) $(‘#i1‘).parent() $(‘#i1‘).parents() $(‘#i1‘).parentsUntil() $(‘#i1‘).children() $(‘#i1‘).siblings() $(‘#i1‘).find() $(‘li:eq(1)‘) $(‘li‘).eq(1) first() last() hasClass(class)
文本操作
$(..).text() # 獲取文本內容 $(..).text(“<a>1</a>”) # 設置文本內容 $(..).html() $(..).html("<a>1</a>") $(..).val() $(..).val(..)
樣式操作
addClass removeClass toggleClass
屬性操作
# 專門用於做自定義屬性 $(..).attr(‘n‘) $(..).attr(‘n‘,‘v‘) $(..).removeAttr(‘n‘) <input type=‘checkbox‘ id=‘i1‘ /> # 專門用於chekbox,radio $(..).prop(‘checked‘) $(..).prop(‘checked‘, true) PS: index 獲取索引位置
事件綁定
$(‘.c1‘).click() $(‘.c1‘)..... $(‘.c1‘).bind(‘click‘,function(){ }) $(‘.c1‘).unbind(‘click‘,function(){ }) ******************* $(‘.c‘).delegate(‘a‘, ‘click‘, function(){ }) $(‘.c‘).undelegate(‘a‘, ‘click‘, function(){ }) $(‘.c1‘).on(‘click‘, function(){ }) $(‘.c1‘).off(‘click‘, function(){ }) 阻止事件發生 return false # 當頁面框架加載完成之後,自動執行 $(function(){ $(...) })
jQuery擴展
- $.extend $.方法 - $.fn.extend $(..).方法 (function(){ var status = 1; // 封裝變量 })(jQuery)
進擊的Python【第十六章】:Web前端基礎之jQuery