jQuery知識框架

一、jQuery 基礎

  1. 核心概念

    • $?或?jQuery:全局函數,用于選擇元素或創建DOM對象。

    • 鏈式調用:多數方法返回jQuery對象,支持連續操作。

    • 文檔就緒事件

      $(document).ready(function() { /* 代碼 */ });
      // 簡寫
      $(function() { /* 代碼 */ });

  2. 選擇器

    • 基礎選擇器

      • $("#id")$(".class")$("tag")$("*")(通配符)。

    • 層級選擇器

      • $("parent > child")(子元素)、$("ancestor descendant")(后代)。

    • 過濾選擇器

      • :first:last:even:odd:eq(index):not(selector)

    • 屬性選擇器

      • $("[attr]")$("[attr='value']")

  3. DOM 遍歷

    • 向上查找parent()parents()closest(selector)

    • 同級查找siblings()next()prev()nextAll()

    • 向下查找children()find(selector)


二、DOM 操作

  1. 內容操作

    • 獲取/設置文本:text()text("new text")

    • 獲取/設置HTML:html()html("<b>new html</b>")

    • 表單值:val()val("new value")

  2. 屬性與CSS

    • 屬性操作:

      • attr("name")attr("name", "value")

      • removeAttr("name")

    • CSS操作:

      • css("property")css("property", "value")

      • 添加/移除類:addClass()removeClass()toggleClass()

  3. 節點操作

    • 創建元素:$("<div>New Element</div>")

    • 插入元素:

      • append()prepend()(內部插入)。

      • after()before()(外部插入)。

    • 刪除元素:remove()empty()


三、事件處理

  1. 事件綁定

    • 簡寫方法:click()hover()submit()

    • 通用方法:on("event", handler)(推薦統一使用)。

      $("#btn").on("click", function() { alert("Clicked!"); });
    • 事件解綁:off("event")

  2. 事件委托

    • 動態元素事件綁定:

      $("#parent").on("click", ".child", function() { /* 邏輯 */ });
  3. 常用事件

    • 鼠標事件:clickdblclickmouseentermouseleave

    • 鍵盤事件:keypresskeyupkeydown

    • 表單事件:submitchangefocusblur


四、動畫與效果

  1. 基礎動畫

    • 顯示/隱藏:show()hide()toggle()

    • 淡入淡出:fadeIn()fadeOut()fadeToggle()

    • 滑動效果:slideDown()slideUp()slideToggle()

  2. 自定義動畫

    • animate()?方法:

      $("#box").animate({ opacity: 0.5, left: "+=50px" 
      }, 1000);
    • 停止動畫:stop()delay()


五、AJAX 與工具方法

  1. AJAX 請求

    • $.ajax()(底層方法):

      $.ajax({url: "api/data",method: "GET",success: function(data) { console.log(data); }
      });
    • 簡寫方法:

      • $.get(url, callback)$.post(url, data, callback)

      • $.getJSON(url, callback)

  2. 工具函數

    • 數組/對象操作:

      • $.each(array, function(index, value) {})

      • $.extend()(合并對象)。

    • 類型判斷:

      • $.isArray()$.isFunction()


六、插件與擴展

  1. 使用插件

    • 引入jQuery插件(如?jQuery UIDataTables):

      <script src="jquery.plugin.js"></script>
  2. 編寫插件

    • 擴展jQuery方法:

      (function($) {$.fn.myPlugin = function(options) {// 插件邏輯};
      })(jQuery);

七、性能優化

  1. 選擇器優化

    • 緩存jQuery對象:var $el = $("#element");

    • 避免過度嵌套選擇器(如?$("div ul li a"))。

  2. 事件優化

    • 使用事件委托代替重復綁定。

    • 移除無用事件監聽(off())。

  3. 鏈式調用

    • 減少DOM查詢次數:

      $("#box").css("color", "red").slideDown().fadeIn();

八、兼容性與現代替代

  1. jQuery 與原生JS

    • 對比示例:

      • $("#id")?→?document.getElementById("id")

      • $.ajax?→?fetch?API。

  2. 現代替代方案

    • 原生JS +?querySelector

    • 前端框架(React/Vue)的組件化開發。


學習建議

  1. 快速上手:從DOM操作和事件處理開始實踐。

  2. 官方文檔:jQuery API。

  3. 逐步過渡:理解jQuery原理后,轉向現代JS或框架。

jQuery的核心優勢是簡化DOM操作和跨瀏覽器兼容性,適合快速開發傳統Web應用,但在現代開發中可結合需求選擇是否使用。

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

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

相關文章

【HCIA】BFD

前言 前面我們介紹了浮動路由以及出口路由器的默認路由配置&#xff0c;可如此配置會存在隱患&#xff0c;就是出口路由器直連的網絡設備并不是運營商的路由器&#xff0c;而是交換機。此時我們就需要感知路由器的存活狀態&#xff0c;這就需要用到 BFD&#xff08;Bidirectio…

前端流行框架Vue3教程:18. _組件數據傳遞

透傳 Attributes 透傳attribute指的是傳遞給一個組件&#xff0c;卻沒有被該組件聲明為props或emits的attribute或者v-on事件監聽器。最常見的例子就是class、style和id 當一個組件以單個元素為根作渲染時&#xff0c;透傳的attribute會自動被添加到根元素上 透傳 Attributes …

卓力達電鑄鎳網:精密制造與跨領域應用的創新典范

目錄 引言 一、電鑄鎳網的技術原理與核心特性 二、電鑄鎳網的跨領域應用 三、南通卓力達電鑄鎳網的核心優勢 四、未來技術展望 引言 電鑄鎳網作為一種兼具高精度與高性能的金屬網狀材料&#xff0c;通過電化學沉積工藝實現復雜結構的精密成型&#xff0c;已成為航空航天、電…

1.2.3.2 數據安全發展歷程-大數據安全產品領域

從電商到物流&#xff1a;中國大數據安全產品如何進化&#xff1f; 在數字化時代&#xff0c;我們的一舉一動都可能被記錄——購物記錄、聊天信息、位置軌跡……這些數據不僅關系到個人隱私&#xff0c;更涉及企業運營和國家安全的命脈。近年來&#xff0c;隨著數據的爆發式增長…

服務器性能參數分析基礎:磁盤-CPU-內存

在Linux系統中&#xff0c;"掛載"&#xff08;Mount&#xff09;是指將物理存儲設備&#xff08;如磁盤分區&#xff09;或邏輯存儲卷&#xff08;如LVM、網絡存儲&#xff09;關聯到文件系統目錄樹的特定路徑節點&#xff08;即掛載點&#xff09;&#xff0c;使得該…

密碼學刷題小記錄

base 64 打開后發現是一串字符串&#xff0c;&#xff0c;我們直接進行base64解密即可 Caesar 根據標題分析&#xff0c;我們知道這是凱撒解密&#xff0c;拖進去經過嘗試在偏移量為12時直接得解&#xff08;這道題就是找偏移量比較麻煩&#xff09; Morse 這道題打開后&am…

Spring框架(三)

目錄 一、JDBC模板技術概述 1.1 什么是JDBC模板 二、JdbcTemplate使用實戰 2.1 基礎使用&#xff08;手動創建對象&#xff09; 2.2 使用Spring管理模板類 2.3 使用開源連接池&#xff08;Druid&#xff09; 三、模擬轉賬開發 3.1 基礎實現 3.1.1 Service層 3.1.2 Da…

[計算機網絡]網絡層

文章目錄 408考研大綱IPV4數據報格式協議: IPv4 地址DHCP協議IP組播 408考研大綱 IPV4數據報格式 協議: 1:ICMP 6:TCP 17:UDP IPv4 地址 特殊IP 網絡號全1又稱直接廣播地址&#xff0c;32位全1又稱受限廣播地址 因為255.255.255.255只能在本網絡內廣播&#xff0c;路由器不…

影樓精修-膚色統一算法解析

注意&#xff1a;本文樣例圖片為了避免侵權&#xff0c;均使用AIGC生成&#xff1b; 本文介紹影樓精修中膚色統一算法的實現方案&#xff0c;并以像素蛋糕為例&#xff0c;進行分析說明。 膚色統一就是將人像照片中皮膚區域的顏色進行統一&#xff0c;看起來顏色均勻一致&…

計算機網絡:什么是計算機網絡?它的定義和組成是什么?

計算機網絡是指通過通信設備和傳輸介質&#xff0c;將分布在不同地理位置的計算機、終端設備及其他網絡設備連接起來&#xff0c;實現資源共享、數據傳輸和協同工作的系統。其核心目標是使設備之間能夠高效、可靠地交換信息。 關鍵組成部分 硬件設備 終端設備&#xff1a;如計算…

深度學習---獲取模型中間層輸出的意義

一、什么是 Hook&#xff08;鉤子函數&#xff09;&#xff1f; 在 PyTorch 中&#xff0c;Hook 是一種機制&#xff0c;允許我們在模型的前向傳播或反向傳播過程中&#xff0c;插入自定義的函數&#xff0c;用來觀察或修改中間數據。 最常用的 hook 是 forward hook&#xf…

存儲器上如何存儲1和0

在計算機存儲器中&#xff0c;數據最終以**二進制形式&#xff08;0和1&#xff09;**存儲&#xff0c;這是由硬件特性和電子電路的物理特性決定的。以下是具體存儲方式的詳細解析&#xff1a; 一、存儲的物理基礎&#xff1a;半導體電路與電平信號 計算機存儲器&#xff08;…

Qt中的RCC

Qt資源系統(Qt resource system)是一種獨立于平臺的機制&#xff0c;用于在應用程序中傳輸資源文件。如果你的應用程序始終需要一組特定的文件(例如圖標、翻譯文件和圖片)&#xff0c;并且你不想使用特定于系統的方式來打包和定位這些資源&#xff0c;則可以使用Qt資源系統。 最…

2918. 數組的最小相等和

2918. 數組的最小相等和 題目鏈接&#xff1a;2918. 數組的最小相等和 代碼如下&#xff1a; class Solution { public:long long minSum(vector<int>& nums1, vector<int>& nums2) {auto [sum1, zero1] calc(nums1);auto [sum2, zero2] calc(nums2);i…

使用 Docker 部署 OnlyOffice

使用 Docker 部署 OnlyOffice 在如今容器化技術盛行的時代&#xff0c;Docker 已成為應用快速部署和隔離的最佳選擇。OnlyOffice 作為一款功能強大的在線辦公套件&#xff0c;通過 Docker 部署不僅能夠簡化安裝和維護流程&#xff0c;還能在不同環境中保持一致性&#xff0c;極…

DDD領域驅動介紹

&#x1f4d5;我是廖志偉&#xff0c;一名Java開發工程師、《Java項目實戰——深入理解大型互聯網企業通用技術》&#xff08;基礎篇&#xff09;、&#xff08;進階篇&#xff09;、&#xff08;架構篇&#xff09;清華大學出版社簽約作家、Java領域優質創作者、CSDN博客專家、…

前端 CSS 樣式書寫與選擇器 基礎知識

1.CSS介紹 CSS是Cascading Style Sheet的縮寫&#xff0c;中文意思為"層疊樣式表"&#xff0c;它是網頁的裝飾者&#xff0c;用來修飾各標簽 排版(大小、邊距、背景、位置等)、改變字體的樣式(字體大小、字體顏色、對齊方式等)。 2.CSS書寫位置 2.1 樣式表特征 層…

鴻蒙 從打開一個新窗口到Stage模型的UIAbility組件

打開一個新的窗口 我們首先來實現如何在一個應用中打開一個新窗口&#xff0c;使用的模型是 Stage 模型 在項目文件里&#xff0c;新建一個 newWindow.ets 新文件 src/main/ets/pages/newWindow.ets newWindow.ets文件里面隨便寫點什么都行&#xff0c;這里是第一步創建的文件…

Linux的日志管理

日志管理服務rsyslogd 配置文件 | 日志類型 | 說明 | | -------------------- | ----------------------------------- | | auth | pam產生的日志 | | authpriv | ssh、ftp等…

【PhysUnits】4.1 類型級比特位實現解釋(boolean.rs)

一、源碼 該代碼實現了一個類型級(type-level)的布爾系統&#xff0c;允許在編譯時進行布爾運算。 //! 類型級比特位實現 //! //! 這些是基礎的比特位類型&#xff0c;作為本庫中其他數值類型的構建基礎 //! //! 已實現的**類型運算符**&#xff1a; //! //! - 來自 core::op…