1+X Web JQuery基礎

2021-02-20 元素學堂
1.jQuery框架概述

jQuery 是一個 JavaScript 函數庫,具有一下優點:

jQuery 庫包含以下功能特性:

HTML 元素選取

HTML 元素操作

CSS 操作

HTML 事件函數

JavaScript 特效和動畫

HTML DOM 遍歷和修改

AJAX

Utilities

2.jQuery選擇器(掌握、應用)

jQuery語法是為 HTML 元素的選取編制的,可以對元素執行某些操作。

基礎語法是:$(selector).action()

2.1 基本選擇器

id 選擇器$('#box')

class 選擇器$('.box')

標記選擇器$('p')

*代表所有標

$("p") 選取 <p> 元素。

$("p.intro") 選取所有 的 <p> 元素。

$("p#demo") 選取所有 id="demo" 的 <p>元素。

2.2 屬性選擇器

[attribute] 匹配包含給定屬性的元素

[attribute=value]匹配給定的屬性的元素

[attribute!=value]匹配給定的屬性不是...的元素

[attribute^=value] 匹配給定的屬性以..開頭的元素

[attribute$=value] 配給定的屬性以..結尾的元素

[attribute*=value] 匹配包含給定值的元素

2.3 位置選擇器

:first匹配第一個元素

:last獲取最後一個元素

:not去除所有與給定選擇器匹配的元素

:even匹配所有索引值為偶數的元素

:odd匹配所有索引值為奇數的元素

:eq匹配一個給定索引值的元素

:gt匹配所有大於給定索引值的元素

:lt匹配所有小於給定索引值的元素

2.4 層級選擇器

//匹配所有後代元素

$('div span')

//匹配直接子元素

$('div>span')

//匹配所有緊接在 prev 元素後的 next 元素

//$("prev + next")

//匹配 prev 元素的所有同輩 siblings 元素

$("prev ~ siblings")

2.5 子元素選擇器

:first-child 匹配第一個子元素

:last-child 匹配最後一個子元素

:first-of-type 選擇所有相同的元素名稱的第一個兄弟元素

:last-of-type 選擇所有相同的元素名稱的最後一個兄弟元素

:nth-child 匹配其父元素下的第 N 個子或奇偶元素

:nth-last-child() 選擇所有他們父元素的第 n 個子元素。計數從最後一個元素開始到第一個

:nth-last-of-type() 選擇的所有他們的父級元素的第 n 個子元素,計數從最後一個元素到第一個

:nth-of-type() 選擇同屬於一個父元素之下,並且標籤名相同的子元素中的第 n個

:only-child 如果某個元素是父元素中唯一的子元素,那將會被匹配

:only-of-type 選擇所有沒有兄弟元素,且具有相同的元素名稱的元素。

2.6表單選擇器

:input 匹配所有 input, textarea, select 和 button 元素

:text 匹配所有的單行文本框

:password 匹配所有密碼框

:radio 匹配所有單選按鈕

:checkbox 匹配所有複選框

:submit 匹配所有提交按鈕

:image 匹配所有圖像域

:reset 匹配所有重置按鈕

:button 匹配所有按鈕

:file 匹配所有文件域

:hidden 匹配所有隱藏域

2.7 表單對象屬性選擇器

:enabled 匹配所有可用元素

:disabled 匹配所有禁用元素

:checked 匹配所有選中的被選中元素(複選框、單選框等,不包括 select 中的 option)

:selected 匹配所有選中的 option 元素(select 元素用)

3.jQuery中的DOM操作

DOM = Document Object Model(文檔對象模型)

DOM 定義訪問 HTML 和 XML 文檔的標準:

「W3C 文檔對象模型獨立於平臺和語言的界面,允許程序和腳本動態訪問和更新文檔的內容、結構以及樣式。」

三個簡單實用的用於 DOM 操作的 jQuery 方法:

3.1 文檔操作方法描述addClass()向匹配的元素添加指定的類名。after()在匹配的元素之後插入內容。append()向匹配元素集合中的每個元素結尾插入由參數指定的內容。appendTo()向目標結尾插入匹配元素集合中的每個元素。attr()設置或返回匹配元素的屬性和值。before()在每個匹配的元素之前插入內容。clone()創建匹配元素集合的副本。detach()從 DOM 中移除匹配元素集合。empty()刪除匹配的元素集合中所有的子節點。hasClass()檢查匹配的元素是否擁有指定的類。html()設置或返回匹配的元素集合中的 HTML 內容。insertAfter()把匹配的元素插入到另一個指定的元素集合的後面。insertBefore()把匹配的元素插入到另一個指定的元素集合的前面。prepend()向匹配元素集合中的每個元素開頭插入由參數指定的內容。prependTo()向目標開頭插入匹配元素集合中的每個元素。remove()移除所有匹配的元素。removeAttr()從所有匹配的元素中移除指定的屬性。removeClass()從所有匹配的元素中刪除全部或者指定的類。replaceAll()用匹配的元素替換所有匹配到的元素。replaceWith()用新內容替換匹配的元素。text()設置或返回匹配元素的內容。toggleClass()從匹配的元素中添加或刪除一個類。unwrap()移除並替換指定元素的父元素。val()設置或返回匹配元素的值。wrap()把匹配的元素用指定的內容或元素包裹起來。wrapAll()把所有匹配的元素用指定的內容或元素包裹起來。wrapinner()將每一個匹配的元素的子內容用指定的內容或元素包裹起來。3.2 屬性操作方法描述addClass()向匹配的元素添加指定的類名。attr()設置或返回匹配元素的屬性和值。hasClass()檢查匹配的元素是否擁有指定的類。html()設置或返回匹配的元素集合中的 HTML 內容。removeAttr()從所有匹配的元素中移除指定的屬性。removeClass()從所有匹配的元素中刪除全部或者指定的類。toggleClass()從匹配的元素中添加或刪除一個類。val()設置或返回匹配元素的值。3.3 CSS操作CSS 屬性描述css()設置或返回匹配元素的樣式屬性。height()設置或返回匹配元素的高度。offset()返回第一個匹配元素相對於文檔的位置。offsetParent()返回最近的定位祖先元素。position()返回第一個匹配元素相對於父元素的位置。scrollLeft()設置或返回匹配元素相對滾動條左側的偏移。scrollTop()設置或返回匹配元素相對滾動條頂部的偏移。width()設置或返回匹配元素的寬度。

jQuery 提供多個處理尺寸的重要方法:

width()

height()

innerWidth()

innerHeight()

outerWidth()

outerHeight()

width() 方法設置或返回元素的寬度(不包括內邊距、邊框或外邊距)。

height() 方法設置或返回元素的高度(不包括內邊距、邊框或外邊距)。

innerWidth() 方法返回元素的寬度(包括內邊距)。

innerHeight() 方法返回元素的高度(包括內邊距)。

outerWidth() 方法返回元素的寬度(包括內邊距和邊框)。

outerHeight() 方法返回元素的高度(包括內邊距和邊框)。

outerWidth(true) 方法返回元素的寬度(包括內邊距、邊框和外邊距)。

outerHeight(true) 方法返回元素的高度(包括內邊距、邊框和外邊距)。

3.4 高階過濾及選擇器

eq() 獲取第 N 個元素

first() 獲取第一個元素

last() 獲取最後一個元素

hasClass() 檢查當前的元素是否含有某個特定的類(如果有,則返回 true)

filter() 篩選出與指定表達式匹配的元素集合

is() 匹配元素集合,如果其中至少有一個元素符合這個給定的表達式就返回true。

slice(start,end) 選取一個匹配的子集

children() 取得一個包含匹配的元素集合中每一個元素的所有子元素的元素集合。

find() 搜索所有與指定表達式匹配的元素

next() 取得一個包含匹配的元素集合中每一個元素緊鄰的後面同輩元素的元素集合 nextall() 查找當前元素之後所有的同輩元素

parent() 取得一個包含著所有匹配元素的唯一父元素的元素集合

parents() 取得一個包含著所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通過一個可選的表達式進行篩選。

prev() 取得一個包含匹配的元素集合中每一個元素緊鄰的前一個同輩元素的元素集合

prevall() 查找當前元素之前所有的同輩元素

siblings() 取得一個包含匹配的元素集合中每一個元素的兄弟元素集合



4.JQuery事件方法描述bind()向匹配元素附加一個或更多事件處理器blur()觸發、或將函數綁定到指定元素的 blur 事件change()觸發、或將函數綁定到指定元素的 change 事件click()觸發、或將函數綁定到指定元素的 click 事件dblclick()觸發、或將函數綁定到指定元素的 double click 事件delegate()向匹配元素的當前或未來的子元素附加一個或多個事件處理器die()移除所有通過 live() 函數添加的事件處理程序。error()觸發、或將函數綁定到指定元素的 error 事件event.isDefaultPrevented()返回 event 對象上是否調用了 event.preventDefault()。event.pageX相對於文檔左邊緣的滑鼠位置。event.pageY相對於文檔上邊緣的滑鼠位置。event.preventDefault()阻止事件的默認動作。event.result包含由被指定事件觸發的事件處理器返回的最後一個值。event.target觸發該事件的 DOM 元素。event.timeStamp該屬性返回從 1970 年 1 月 1 日到事件發生時的毫秒數。event.type描述事件的類型。event.which指示按了哪個鍵或按鈕。focus()觸發、或將函數綁定到指定元素的 focus 事件keydown()觸發、或將函數綁定到指定元素的 key down 事件keypress()觸發、或將函數綁定到指定元素的 key press 事件keyup()觸發、或將函數綁定到指定元素的 key up 事件live()為當前或未來的匹配元素添加一個或多個事件處理器load()觸發、或將函數綁定到指定元素的 load 事件mousedown()觸發、或將函數綁定到指定元素的 mouse down 事件mouseenter()觸發、或將函數綁定到指定元素的 mouse enter 事件mouseleave()觸發、或將函數綁定到指定元素的 mouse leave 事件mousemove()觸發、或將函數綁定到指定元素的 mouse move 事件mouseout()觸發、或將函數綁定到指定元素的 mouse out 事件mouseover()觸發、或將函數綁定到指定元素的 mouse over 事件mouseup()觸發、或將函數綁定到指定元素的 mouse up 事件one()向匹配元素添加事件處理器。每個元素只能觸發一次該處理器。ready()文檔就緒事件(當 HTML 文檔就緒可用時)resize()觸發、或將函數綁定到指定元素的 resize 事件scroll()觸發、或將函數綁定到指定元素的 scroll 事件select()觸發、或將函數綁定到指定元素的 select 事件submit()觸發、或將函數綁定到指定元素的 submit 事件toggle()綁定兩個或多個事件處理器函數,當發生輪流的 click 事件時執行。trigger()所有匹配元素的指定事件triggerHandler()第一個被匹配元素的指定事件unbind()從匹配元素移除一個被添加的事件處理器undelegate()從匹配元素移除一個被添加的事件處理器,現在或將來unload()觸發、或將函數綁定到指定元素的 unload 事件

事件冒泡

適用的事件類型主要有鍵盤事件:keypress、keydown、keyup,以及滑鼠事件:mouseup、mousedown。

e.pageX 滑鼠相對於文檔的左邊緣的位置

e.pageY 滑鼠相對於文檔的上邊緣的位置

e.stopPropagation() 防止事件冒泡到 DOM 樹上,也就是不觸發的任何前輩元素上的事件處理函數

e.preventDefault() 阻止默認事件行為的觸發

e.target 最初觸發事件的 DOM 元素

e.which 針對鍵盤和滑鼠事件,這個屬性能確定你到底按的是哪個鍵或按鈕

相關焦點

  • JavaScript|jQuery基礎語法
    1.安裝jQuery2.jQuery語法基礎語法: $(selector).action()美元符號定義 jQuery選擇符(selector)"查詢"和"查找" HTML 元素jQuery 的 action() 執行對元素的操作
  • jQuery學習筆記
    為官方主要維護和更新版本(不兼容IE678)// 官方中文教程https://jquery.cuishifeng.cn/// w3school教程https://www.w3school.com.cn/jquery/index.asp
  • 從0到1~jQuery入門基礎(t216-t225)
    /js/jquery-3.5.1.js"></script> <script> $(function () { $("div").mouseover(function () { $(this).css("background-color","#cccccc
  • 教程:---《JQuery如何工作》
    點擊上方「web前端網頁設計」一鍵關注,更多Html div css HTML5+CSS3、JavaScript
  • 人工智慧學院教師參加2019年度陝西省「1+X」證書web前端開發(高職)培訓
    為強化「1+X」證書Web前端開發培訓師資隊伍建設,助力學校雙高校建設工作,紮實推進1+X試點以及Web前端開發培訓,2020年7月13日至8月4日,我院教師王豔、王姝、趙軼飛、李靜參加了在陝西工業職業技術學院舉辦的2019年度陝西省「1+X」web前端開發(中職/高職)培訓班,舉辦的Web前端開發暑期師資培訓。我院教師通過認真的學習圓滿完成此次培訓任務。
  • web前端開發工程師的三種級別
    web前端開發工程師的三種級別,一般分為初級工程師、中級工程師、高級工程師。初級前端工程師:能熟練使用html、css、js 主要工作還是搭建靜態頁面。進階的知識的話就是響應式這一塊了,一套代碼能適配pc+手機是初級前端工程師的進階,中級前端工程師:作為一名中級前端工程師的話,除了上面的以外,還需要會使用一些框架之類的東西,像bootstrap、jquery之類的。
  • 一個簡單的Ajax功能(用到Jquery與Json)
    提示:上面的java學習和許肖飛不是寫死的而是從伺服器中獲取的 1、在index.jsp頁面載入jquery-1.8.3.js(放在WebRoot目錄下的js文件夾裡面)>並且在WebRoot下面的lib文件夾中導入<scripttype="text/javascript"src="js/jquery-1.8.3.js"></script>2、在index.jsp頁面寫入這句話所有員工:<select id="empsel"></select>
  • jquery mootools - CSDN
    I'm happy to announce that I was able to join Elijah Manor and Ralph Whitbeck on the jQuery podcast this past week to talk jQuery, MooTools, and web development in general.
  • 好書一起讀(92):我的Java Web書單
    前端框架:《鋒利的jquery》其實就是jqueryAPI的加強版,覺得jqueryAPI足夠的話就不用看這本了。《jquery技術內幕》與《struts2技術內幕》《spring技術內幕》一系列的好書,講源碼的。這三本書都值得一看。但注意「源碼無用論」和「源碼神聖論」都不可取。
  • 如何用jquery實現滑鼠拖拽效果
    今天我們將學習如何用jquery實現滑鼠拖拽效果。
  • 從零做網站開發:基於Flask和JQuery實現表格管理平臺
    【效果如下】【第一步】了解Flask框架1、了解python 主流的web框架(1)Django:簡單來說就是重武器,是最全能的開發框架,你想要的功能它都有;但是比較繁重,適合企業級的web開發;(2)Flask:屬於web開發微框架
  • 【K本書單】js大佬編撰的12本jQuery著作,文末免費電子書下載
    1. Head First jQuery(中文版)評價:★★★☆ 3.5/5.0星        本書是jQuery基礎課程(第二版)的升級版,涵蓋了jQuery 1.6和1.7的各種新功能,內容來自著名的jQuery資源網站LearningjQuery.com,贏得了業界的一致好評。        讀者不僅可以學習jQuery的基礎知識,還可以學習大量示例和JavaScript編程最佳實踐。值得一提的是,本版新增了附錄D,它介紹了最新發布的jQuery1.7。
  • 最常見的 20 個 jQuery 面試問題及答案
    原文地址:http://www.webcodegeeks.com/javascript/jquery/jquery-interview-questions-answers-programmers/毫無疑問,jQuery給了JavaScript急需的提振,這是一門如此有用,但同時總是常常被低估的語言.
  • jquery ztree入門 - CSDN
    《j2ee 簡單網站搭建:(一) windows 作業系統下使用 eclipse 建立 maven web 項目》《j2ee 簡單網站搭建
  • JavaScript 學習 jQuery&前端小技巧
    --cdn引入(在線)-->    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/core.js"></script>     <!
  • jquery基礎之dom篇
    這就需要我們動態的去處理節點,js已經提供了對應的方法去創建節點、新增屬性、填充文本等,但是經常遇到每一個節點需要單獨創建、節點的屬性需要單獨設置、瀏覽器兼容性等一系列問題,極大的增加了開發的複雜性,這個時候jquery提供了一套完美的接口來解決這些問題。
  • 7 個 jQuery 最佳實踐
    前言  隨著富網絡應用(rich web applications)數量的增長,以及用戶對快速交互響應的高期望
  • jQuery真的過時了嗎?
    jQuery現代web前端開發,仍然需要JQuery的助力現在有些前端已經不在去研究Jquery了,因為出現了各種漸進式框架如Vue、React畢竟jquery是經過了無數優秀開發者考驗後的一款類庫。我目前的Vue項目中就集成了JQuery,用到了JQueryBuilder這款資料庫語句生成構建工具。所以JQuery不會過時。
  • Jquery事件
    >ready事件</title> <script src="js/jquery-3.4.1.js" type="text/javascript"></scriptbind({ click:function(){ alert("鏈式編程1")
  • jquery與js的區別是什麼?js與jquery的用法區別介紹
    在學習js的時候我們肯定能夠接觸到jquery,那麼,js與jquery之間有什麼區別呢?本篇文章將給大家來分享關於jquery與js之間的區別比較,有需要的小夥伴可以參考一下,希望能夠幫助到你們。我們來簡單看一下jquery與js的概念。js是一種腳本語言,常用於網頁客戶端編程,使網頁在客戶端瀏覽器中,實現更多地動態功能,表現出更加豐富的視覺效果。jquery是一個快速、簡潔的JavaScript框架,極大的簡化了javascript編程。