搜尋
首頁web前端js教程全面看jQuery選擇者

A Comprehensive Look at jQuery Selectors

本文受益於馬特·史密斯(Matt Smith)和蒂姆·塞維恩(Tim Severien)的同行評論。 感謝SitePoint的同行評審提高了內容質量! 選擇元素對於用jQuery操縱網頁至關重要。 無論您是修改內容,附加事件還是執行其他操作,都需要先定位正確的元素。 本教程探索了jQuery選擇器,這是庫的關鍵組成部分。

鍵概念

jQuery選擇器對於針對網頁元素進行內容操作,事件附件等是必不可少的。 這些選擇者使用標準,例如ID,類,屬性或組合。

>
    > jQuery提供了廣泛的選擇器,包括基本,基於索引,兒童,屬性,內容,層次結構,表單和可見性選擇器。每種類型都基於特定條件和參數提供唯一的選擇功能。
  • > JQuery 3中的增強功能顯著提高了自定義選擇器的速度,例如
  • >和
  • (在某些情況下最多17倍)。 現在,可見性是由
  • >的佈局框的存在確定的
  • 緩存選定的元素可以提高性能,尤其是在許多選擇器中。 在變量中存儲選擇會減少冗餘DOM掃描。 :visible :hidden>許多jQuery選擇器鏡像CSS選擇器,jQuery還包括其自己的自定義選擇器,以進行更簡潔有效的元素選擇。 > getClientRects
  • > jQuery選擇器詳細
  • > jQuery選擇器主要基於ID,類,屬性或組合等標準識別元素。 許多基於CSS選擇器,但JQuery通過自定義選擇器擴展功能。
基本選擇器

>選擇ID(),類(

)或標籤名稱(

)的元素。 組合這些(例如,

)或使用由逗號分開的多個選擇器(例如,

)。

其他基本選擇器:

$("#id") $(".class")$("li"):選擇所有標題($(".class tag")>$("selectorA, selectorB, selectorC"))。 比單獨列出每個標籤標籤更簡潔。

:選擇匹配URL片段標識符的元素(例如,
    )。
  • :header:選擇當前正在動畫的元素(需要jQuery效果模塊)。 <h1></h1> 基於索引的選擇器<h6></h6>
  • > jQuery提供基於零的索引選擇器:
    • :eq(n):選擇索引n的元素(支持正索引和負數)。
    • >
    • :lt(n):選擇索引小於n的元素。
    • :gt(n):選擇索引大於或等於n>
    • >的元素
    • :first:選擇第一個匹配的元素。
    • :last:選擇最後一個匹配的元素。
    • :even:選擇具有均勻索引的元素(0,2,4 ...)。
    • :選擇具有奇數索引的元素(1,3,5 ...)。 :odd 基於

    交互式演示索引的選擇器>

    兒童選擇器

    這些選擇器基於索引或類型針對兒童:

    • :選擇每個父母的第一個孩子。 :first-child>
    • :選擇其類型的第一個兄弟姐妹。 :first-of-type>
    • :選擇每個父母的最後一個孩子。 :last-child>
    • :選擇其類型的最後一個兄弟姐妹。 :last-of-type>
    • :選擇第n個孩子(支持各種表達式,例如數字,:nth-child(n)even,公式)。 odd
    • :類似於:nth-last-child(n)>,但從最後一個孩子計算。 :nth-child>
    • :選擇其類型的nth兄弟姐妹。 :nth-of-type(n)
    • :類似於:nth-last-of-type(n)>,但從最後一個同胞計算。 :nth-of-type>
    • :選擇是父母唯一子女的元素。 :only-child>
    • :選擇沒有相同類型的兄弟姐妹的元素。 :only-of-type>

    交互式演示兒童選擇器>

    屬性選擇器

    基於屬性值的選擇元素:

      :選擇具有確切屬性值的元素。
    • > [attribute="value"]
    • :選擇其屬性值以“ value”開頭的元素。
    • [attribute^="value"]:選擇其屬性值以“ value”結尾的元素。
    • >
    • [attribute$="value"]:選擇其屬性值包含“值”的元素。
    • >
    • [attribute*="value"]:選擇其屬性值等於或以“值”開始的元素,其次是連字符。
    • >
    • [attribute|="value"]:選擇其屬性值包含“值”的元素作為空間分離的單詞。
    • :選擇沒有屬性或具有不同值的元素。 > [attribute~="value"]
    • :選擇具有指定屬性的元素,無論價值如何。
    • [attribute!="value"]
    • 內容選擇器
    • [attribute]這些選擇器基於其內容的目標元素:
      • :contains(text):選擇包含指定文本(情況敏感)的元素。
      • >
      • :has(selector):選擇至少包含一個匹配提供的選擇器的元素的元素。
      • :empty:選擇沒有孩子的元素。
      • :parent:選擇至少一個孩子的元素。
      • >

      層次結構選擇器

      這些選擇器使用DOM層次結構:

      • ancestor descendant:選擇祖先元素的所有後代。
      • >
      • parent > child:選擇父元素的直接子女。
      • >
      • prev next:選擇prev元素的下一個兄弟姐妹。
      • >
      • prev ~ siblings:選擇prev元素的所有後續兄弟姐妹。
      • >

      形式選擇器

      的形式元素的簡化選擇器:

      • :button:選擇按鈕元素。
      • :checkbox:選擇複選框元素。
      • :radio:選擇單選按鈕元素。
      • :選擇文本輸入元素。 :text
      • :選擇密碼輸入元素。 :password
      • :選擇提交按鈕元素。 :submit
      • :選擇重置按鈕元素。 :reset
      • :選擇圖像按鈕元素。 :image
      • :選擇文件輸入元素。 :file
      • :選擇隱藏的形式元素。 :hidden
      • :選擇啟用的表單元素。 :enabled>
      • :選擇禁用的表單元素。 :disabled
      • :選擇選中的複選框和無線電按鈕,以及選定的選項。 :checked>
      • :在:selectedelements中選擇選定的選項。 <select></select>
      可見性選擇器

      • :選擇可見元素。 :visible
      • :選擇隱藏的元素。 :hidden

      jQuery 3更改

      > jQuery 3引入了>和

      的性能改進,並完善了可見性的定義。 無效選擇器的錯誤處理也得到了增強。 :visible> :hidden

      >性能的緩存 通過避免重複的DOM掃描,緩存選定的元素可以改善性能。 將選擇存儲在變量中以進行重複使用。

      結論

      >本教程全面涵蓋了jQuery選擇器。切記使用緩存以進行最佳性能。 了解這些選擇器對於有效的jQuery開發至關重要。

      常見問題(FAQS)

      > 原始輸入的FAQ部分已經結構良好且全面。 我建議保持原樣,也許通過較小的措辭調整以提高流量和清晰度。

以上是全面看jQuery選擇者的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JavaScript數據類型:瀏覽器和nodejs之間是否有區別?JavaScript數據類型:瀏覽器和nodejs之間是否有區別?May 14, 2025 am 12:15 AM

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScript評論:使用//和 / * * / * / * /JavaScript評論:使用//和 / * * / * / * /May 13, 2025 pm 03:49 PM

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python vs. JavaScript:開發人員的比較分析Python vs. JavaScript:開發人員的比較分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器