搜尋
首頁web前端js教程jquery取得css中的選擇器(實例講解)_jquery

開始寫之前先複習一下元素和節點的差別:

元素是W3C文件物件模型(DOM)當中使用最廣泛的節點之一。

元素擁有關聯的「屬性」。

XmlElement類別有許多方法可以存取它的「屬性」(GetAttribute, SetAttribute, RemoveAttribute, GetAttributeNode, 等等)。

你也可以使用「Attributes」屬性來傳回一個支援「名字」或「序號」存取的「XML屬性集」。

那麼,從XmlElement類別的解釋來看,我們很容易就知道XmlNode和XmlElement類別的差別了:

XmlElement類別是只擁有“屬性”的節點,而XmlNode則是不僅擁有“屬性”,還擁有“子節點”的節點。

所以,我們在使用它們的時候,如果你需要取得或設定節點中的innerText或innerXml,那麼你就需要用XmlNode;而如果你需要取得或設定節點本身的屬性(參數)的時候,你就需要用XmlElement,當然,你也可以用(XmlElement)對XmlNode進行轉換得到。

下面開始進入正題

在javascript中,除了對id的選擇器比較好取一些,其他的都不是很好取,jquery在這一塊要比它優秀多了,提供了很多的獲取方法主要包括

1、基礎選擇器(主要包括標籤選擇器,id選擇器,類別選擇器,通用選擇器,群組選擇器)

$("#divId") 取得ID為divId的元素
 $("a") 取得所有元素

$(".bgRed") 取得所用CSS類別為bgRed的元素

$("*")取得頁面所有元素

$("#divId, a, .bgRed")取得三個符合條件的選擇器

2、層級選擇器(主要包括子元素選擇器、後代元素選擇器、緊鄰同儕元素選擇器、相鄰同儕元素選擇器)

2.1   子元素選擇器>  ===============選擇兒子元素

複製程式碼

程式碼如下:



       
  • Item 1

  •    
  • Item 2
     li>Nested item 1
  • Nested item 2
  • Nested item 3

      
   
  • Item 3 li>

  • <script>    $("ul.topnav > li").css("border", "3px double red");</script>


    這是官方的程式碼,可以參考以下其用法

    2.2   後代選擇器直接用空格表示不僅包括兒子還包括孫子........===============選擇後代元素複製程式碼

    程式碼如下:


     

         

       
       
       

       
     > input name="newsletter" />
       


     

      Sibling to form:
    <script> " form input").css("border", "2px dotted blue");</script>

    2.3    緊鄰同輩元素選擇器所有符合條件的都可以會被選擇主要是選擇一個元素之後的平行元素===============選擇指定元素的下一個平輩元素複製程式碼
    程式碼如下:

      


       
       
       

         

         
       

     

     
    <script>$("label + input").css("color", "blue").val("Labeled!")</script>

    2.4  相邻同辈元素选择器 ===============选择指定元素的所有指定的平辈元素,可以隔几个不是指定的元素
    复制代码 代码如下:

     
    div (doesn't match since before #prev)

      span#prev
     
    div sibling


     
    div sibling
    div niece

      span sibling (not div)
     
    div sibling

    <script>$("#prev ~ div").css("border", "3px groove blue");</script>

    3、表单选择器主要选择表单、用的时间要注意$(":input")注意引号里面的冒号也可以选择类型如$(":button")不过多介绍

    4、基本过滤器主要包括

    名称 说明 举例
    :first 匹配找到的第一个元素 查找表格的第一行:$("tr:first")
    :last 匹配找到的最后一个元素 查找表格的最后一行:$("tr:last")
    :not(selector) 去除所有与给定选择器匹配的元素 查找所有未选中的 input 元素: $("input:not(:checked)")
    :even 匹配所有索引值为偶数的元素,从 0 开始计数 查找表格的1、3、5...行:$("tr:even")
    :odd 匹配所有索引值为奇数的元素,从 0 开始计数 查找表格的2、4、6行:$("tr:odd")
    :eq(index) 匹配一个给定索引值的元素
    注:index从 0 开始计数
    查找第二行:$("tr:eq(1)")
    :gt(index) 匹配所有大于给定索引值的元素
    注:index从 0 开始计数
    查找第二第三行,即索引值是1和2,也就是比0大:$("tr:gt(0)")
    :lt(index) 选择结果集中索引小于 N 的 elements
    注:index从 0 开始计数
    查找第一第二行,即索引值是0和1,也就是比2小:$("tr:lt(2)")
    :header 选择所有h1,h2,p一类的header标签. 给页面内所有标题加上背景色: $(":header").css("background", "#EEE");
    :animated 匹配所有正在执行动画效果的元素 只有对不在执行动画效果的元素执行一个动画特效:

    $("#run").click(function(){
      $("div:not(:animated)").animate({ left: "+=20" }, 1000);
    });


    5、内容过滤器(主节点的子节点为文本节点)

    名称 说明 举例
    :contains(text) 匹配包含给定文本的元素 查找所有包含 "John" 的 div 元素:$("div:contains('John')")
    :empty 匹配所有不包含子元素或者文本的空元素 查找所有不包含子元素或者文本的空元素:$("td:empty")
    :has(selector) 匹配含有选择器所匹配的元素的元素 给所有包含 p 元素的 div 元素添加一个 text 类: $("div:has(p)").addClass("test");
    :parent 匹配含有子元素或者文本的元素 查找所有含有子元素或者文本的 td 元素:$("td:parent")

    6、可见性过滤器  Visibility Filters

    :hidden

    :visible

    7、属性过滤器 Attribute Filters

    名称 说明 举例
    [attribute] 匹配包含给定属性的元素 查找所有含有 id 属性的 div 元素:
    $("div[id]")
    [attribute=value] 匹配给定的属性是某个特定值的元素 查找所有 name 属性是 newsletter 的 input 元素:
    $("input[name='newsletter']").attr("checked", true);
    [attribute!=value] 匹配给定的属性是不包含某个特定值的元素 查找所有 name 属性不是 newsletter 的 input 元素:
    $("input[name!='newsletter']").attr("checked", true);
    [attribute^=value] 匹配给定的属性是以某些值开始的元素 $("input[name^='news']")
    [attribute$=value] 匹配给定的属性是以某些值结尾的元素 查找所有 name 以 'letter' 结尾的 input 元素:
    $("input[name$='letter']")
    [attribute*=value]

    匹配给定的属性是以包含某些值的元素

    查找所有 name 包含 'man' 的 input 元素:
    $("input[name*='man']")

    [attributeFilter1][attributeFilter2][attributeFilterN] 复合属性选择器,需要同时满足多个条件时使用。 找到所有含有 id 属性,并且它的 name 属性是以 man 结尾的:
    $("input[id][name$='man']")

    8.子元素過濾器 Child Filters

    名称 说明 举例
    :nth-child(index/even/odd/equation)

    匹配其父元素下的第N个子或奇偶元素

    ':eq(index)' 只匹配一个元素,而这个将为每一个父元素匹配子元素。:nth-child从1开始的,而:eq()是从0算起的!

    可以使用:
    nth-child(even)
    :nth-child(odd)
    :nth-child(3n)
    :nth-child(2)
    :nth-child(3n 1)
    :nth-child(3n 2)

    在每个 ul 查找第 2 个li:
    $("ul li:nth-child(2)")
    :first-child

    匹配第一个子元素

    ':first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素

    在每个 ul 中查找第一个 li:
    $("ul li:first-child")
    :last-child

    匹配最后一个子元素

    ':last'只匹配一个元素,而此选择符将为每个父元素匹配一个子元素

    在每个 ul 中查找最后一个 li:
    $("ul li:last-child")
    :only-child

    如果某个元素是父元素中唯一的子元素,那将会被匹配

    如果父元素中含有其他元素,那将不会被匹配。

    在 ul 中查找是唯一子元素的 li:
    $("ul li:only-child")
    名稱
    說明 ​​舉例
    :nth-child(index/even/odd/equation) 符合其父元素下的第N個子或奇偶元素 ':eq(index)' 只符合一個元素,而這個將為每一個父元素匹配子元素。 :nth-child從1開始的,而:eq()是從0算起的! 可以使用:
    nth-child(even)
    :nth-child(odd)
    :nth-child(3n)
    :nth-child(2)
    :nth -child(3n 1)
    :nth-child(3n 2)
    在每個 ul 找第 2 個li:
    $("ul li:nth-child(2)")
    :first-child 匹配第一個子元素 ':first' 只符合一個元素,而此選擇符將為每個父元素匹配一個子元素 在每個 ul 中找第一個 li:
    $("ul li:first-child")
    :last-child 匹配最後一個子元素 ':last'只符合一個元素,而此選擇符將為每個父元素匹配一個子元素 在每個 ul 中找出最後一個 li:
    $("ul li:last-child")
    ​​:only-child 如果某個元素是父元素中唯一的子元素,那將會被符合 如果父元素中含有其他元素,那將不會被匹配。 在ul 中找出是唯一子元素的li:
    $("ul li:only-child")
    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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

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

    熱門文章

    熱工具

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

    mPDF

    mPDF

    mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

    Atom編輯器mac版下載

    Atom編輯器mac版下載

    最受歡迎的的開源編輯器

    MantisBT

    MantisBT

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

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    強大的PHP整合開發環境