使用jQuery快速高效製作網頁交互特效——06 第六章 jQuery選擇器

来源:https://www.cnblogs.com/HQING/archive/2018/08/06/9429777.html
-Advertisement-
Play Games

1、jQuery選擇器:jQuery選擇器類似於CSS選擇器,用來選取網頁中的元素。 Eg:$("h3").css("background","#09F"); 分析: 獲取並設置網頁中所有<h3>元素的背景 “h3”為選擇器語法,必須放在$()中 $(“h3”)返回jQuery對象 .css()是為 ...


1、jQuery選擇器:jQuery選擇器類似於CSS選擇器,用來選取網頁中的元素。

        Eg:$("h3").css("background","#09F");

               分析:  獲取並設置網頁中所有<h3>元素的背景

            “h3”為選擇器語法,必須放在$()中

             $(“h3”)返回jQuery對象

                  .css()是為jQuery對象設置樣式的方法

2、 jQuery選擇器的優勢:

簡潔的寫法:

  $()函數在很多javaScript庫中都被當成一個選擇器函數來使用,在jQuery中也是如此。$(“#id”)等同於document.getElementById(“id”)。

完善的處理機制:

  使用jQuery選擇器不僅比使用傳統的getElementById()和getElementsByTagName()函數簡潔的多,還能避免某些錯誤,適用性更好。

3、jQuery選擇器的類型:

分類

詳細類型

通過CSS選擇器選取元素

基本選擇器

層次選擇器

屬性選擇器

通過過濾選擇器選擇元素

基本過濾選擇器

可見性過濾選擇器

4、        通過CSS選擇器獲取元素:

●基本選擇器:包括標簽選擇器、類選擇器、ID選擇器、並集選擇器和全局選擇器

名稱

語法構成

描述

返回值

示例

標簽選擇器

element

根據給定的標簽名匹配元素

元素集合

$("h2" )選取所有h2元素

類選擇器

.class

根據給定的class匹配元素

元素集合

$(" .title")選取所有classtitle的元素

ID選擇器

#id

根據給定的id匹配元素

單個元素

$(" #title")選取idtitle的元素

並集選擇器

selector1,selector2,...,selectorN

將每一個選擇器匹配的元素合併後一起返回

元素集合

$("div,p,.title" )選取所有divp和擁有classtitle的元素

全局選擇器

*

匹配所有元素

集合元素

$("*" )選取所有元素

 

標簽選擇器根據給定的標簽名匹配元素

     $(document).ready(function(){

        $("dt").click(function(){

            $("dd").css("display","block"); //設置<dd>標簽中的內容顯示出來

       });

      $("h1").css("color","blue");//設置<h1>標簽中的字體顏色為藍色

  })

 

●類選擇器根據給定的class匹配元素

  $(".price").css({"background":"#efefef","padding":"5px"});

          //設置class為price元素的背景顏色和內邊距(右側網頁中的灰色方框部分)

 

●ID選擇器根據給定的id匹配元素

  $("#author").css("color","#083499");   //設置id為author的元素的字體顏色

 

●並集選擇器用來合併元素集合

  $(".intro,dt,dd").css("color","#ff0000");

 

●全局選擇器可以獲取所有元素

  $("*").css("font-weight","bold");     //設置所有元素的字體加粗顯示

 

 

 

層次選擇器:層次選擇器通過DOM 元素之間的層次關係來獲取元素

名稱

語法構成

描述

返回值

示例

後代選擇器

ancestor descendant

選取ancestor元素里的所有descendant(後代)元素

元素集合

$("#menu span" )選取#menu下的<span>元素

子選擇器

parent>child

選取parent元素下的child(子)元素

元素集合

$(" #menu>span" )選取#menu的子元素<span>

相鄰元素選擇器

prev+next

選取緊鄰prev元素之後的next元素

元素集合

$(" h2+dl " )選取緊鄰<h2>元素之後的同輩元素<dl>

同輩元素選擇器

prev~sibings

選取prev元素之後的所有siblings元素

元素集合

$(" h2~dl " )選取<h2>元素之後所有的同輩元素<dl>

 

●後代選擇器用來獲取元素的後代元素

  $(".textRight p").css("color","red");

       //設置class為textRight元素中的所有<p>標簽的字體全部為紅色

 

●子選擇器用來獲取元素的子元素

    $(".textRight>p").css("color","red");

 

●相鄰選擇器用來選取緊鄰目標元素的下一個元素

  $("h1+p").css(text-decoration","underline");

 

●同輩選擇器用來選取目標元素之後的所有同輩元素

  $("h1~p").css("text-decoration","underline");

 

 

 

●屬性選擇器: 屬性選擇器通過HTML元素的屬性來選擇元素

語法構成

描述

返回值

示例

[attribute]

選取包含指定屬性的元素

元素集合

$(“[hrer]”)選取包含href屬性的元素

[attribute=value]

選取指定屬性是某個值的元素

元素集合

$(“[href=’#’]”)選取href屬性值為#的元素

[attribute=value]

選取指定屬性不是某個值的元素

元素集合

$(“[href!=’#’]”)選取href屬性值不為#的元素

[attribute^=value]

選取給定屬性是以某些特定值開始的元素

元素集合

$(" [href^='en']" )選取href屬性值以en開頭的元素

[attribute$=value]

選取給定屬性是以某些特定值結尾的元素

元素集合

$(" [href$='.jpg']" )選取href屬性值以.jpg結尾的元素

[attribute*=value]

選取給定屬性是以包含某些值的元素

元素集合

$(" [href* ='txt']" )選取href屬性值中含有txt的元素

 

●根據屬性名獲取元素

  ★屬性選擇器可以根據是否包含某屬性來選取元素

    a標簽帶有class屬性

      $("#news a[class]").css("background","#c9cbcb");

 

●根據屬性值獲取元素

1、屬性選擇器可以根據屬性的值來選取元素

    class屬性值為hot

      $("#news a[class='hot']").css("background","#c9cbcb");

 

2、屬性選擇器可以指定選取不等於屬性是某個特定值的元素

        class值不等於hot

      $("#news a[class!='hot']").css("background","#c9cbcb");

 

 

●根據屬性值包含特定的值獲取元素

1、屬性選擇器可以指定屬性值以指定值開頭的元素

  a標簽href屬性值以www開頭

    $("#news a[href^='www']").css("background","#c9cbcb");

 

2、屬性選擇器可以指定屬性值以指定值結尾的元素

  a標簽href屬性值以html結尾

    $("#news a[href$='html']").css("background","#c9cbcb");

 

3、屬性選擇器可以指定屬性值包含指定值的元素

  a標簽href屬性值包含“k2”的元素

    $("#news a[href*='k2']").css("background","#c9cbcb");

 

5、 通過條件過濾選取元素:

通過特定的過濾規則來篩選出所需的DOM元素

    主要分類:

      基本過濾選擇器

      可見性過濾選擇器

      表單對象過濾選擇器

      內容過濾選擇器、子元素過濾選擇器、屬性過濾選擇器……

●基本過濾選擇器:

語法

 

描述

返回值

示例

:first

 

選取第一個元素

單個元素

$(" li:first" )選取所有<li>元素中的第一個<li>元素

:last

 

選取最後一個元素

單個元素

$(" li:last" )選取所有<li>元素中的最後一個<li>元素

:not(selector)

 

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

集合元素

$(" li:not(.three)" )選取class不是three的元素

:even

 

選取索引是偶數的所有元素(index0開始)

集合元素

$(" li:even" )選取索引是偶數的所有<li>元素

:odd

 

選取索引是奇數的所有元素(index0開始)

集合元素

$(" li:odd" )選取索引是奇數的所有<li>元素

:eq(index)

 

選取索引等於index的元素(index0開始)

單個元素

$("li:eq(1)" )選取索引等於1<li>元素

:gt(index)

 

選取索引大於index的元素(index0開始)

集合元素

$(" li:gt(1)" )選取索引大於1<li>元素(註:大於1,不包括1

:lt(index)

 

選取索引小於index的元素(index0開始)

集合元素

$(“li:lt(1)” )選取索引小於1<li>元素(註:小於1,不包括1

:header

 

選取所有標題元素,如h1~h6

集合元素

$(":header" )選取網頁中所有標題元素

:focus

 

選取當前獲取焦點的元素

集合元素

$(":focus" )選取當前獲取焦點的元素

:animated

 

選擇所有動畫

集合元素

$(":animated" )選取當前所有動畫元素

 

  • ●eg:

  div class="contain">

   <h2>祝福冬奧</h2>

   <ul>

      <li> 貝克漢姆:衷心希望北京能夠申辦成功!</li>

      <li> 姚明:北京申冬奧是個非常棒的機會!加油!</li>

  <li> 張虹:北京辦冬奧,大家的熱情定超乎想象!</li>

      <li> 肖恩懷特:我愛北京,支持北京申辦冬奧會!</li>

      <li> 趙巨集博:北京申辦冬奧會是再合適不過了!</li>

      <li> 你喜歡哪些冬季運動項目?(點擊進入調查頁)</li>

   </ul>

</div>

 

$(".contain :header").css({"background":"#2a65ba","color":"#ffffff"});

 

$(".contain li:first").css({"font-size":"16px","color":"#e90202"});

 

$(".contain li:last").css("border","none");

 

$(".contain li:even").css("background","#f0f0f0");

  

$(".contain li:odd").css("background","#cccccc");

$(".contain li:lt(2)").css({"color":"#708b02"});

 

$(".contain li:gt(3)").css({"color":"#b66302"});

 

 

●可見過濾選擇器:

  ★通過元素的顯示狀態(顯示/隱藏)來選取 元素。

 

語法

名稱

返回值

語法:示例

:visible

選取可見元素

集合元素

$(“:visible”)選取所有可見的元素

:hidden

選取隱蔽的元素

集合元素

$(“:hidden”)選取所有隱藏的元素

  Eg$("p:hidden").show();

     $("p:visible").hide();

6、 jQuery選擇器的註意事項:

●選擇器中包含特殊符號

  ★在W3C規範中,規定屬性值不能包含有某些特殊字元,解決此類錯誤的方法是使用轉義符轉義。

    Eg代碼:<div id="id#a">aa</div>

         <div id="id[2]">cc</div>

                   ◆獲取這兩個元素的選擇器

                       $(“#id#a”);

                               $(“#id[2]”);

            以上代碼不能正確獲取元素,正確的寫法如下:

                            $(“#id\\#a”);

                                $(“#id\\[2\\]”);

選擇器中的空格:選擇器的書寫規範很嚴格,多一個空格或少一個空格,都會影響選擇器的效果

                  Eg1選取class“test”的元素內部的隱藏元素

          var $t_a = $(".test :hidden"); //帶空格的jQuery選擇器

      Eg2:選取隱藏的class“test”的元素

          var $t_b = $(".test:hidden");  //不帶空格的jQuery選擇器


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ES5 寫法arr.forEach(function(value,index){ console.log(index+'--'+value);}) ES6 寫法for( let i of arr){ console.log(i);} ...
  • 不做過多解釋:主要是記錄一個完整的佈局樣式,實現頁面大致三列其中左右兩列是自適應寬度,中間固定寬度效果。 不多少代碼奉上: CSS樣式代碼: html代碼佈局: 最終效果展示: ...
  • //jq數組 var arr = [1,2,3]; //把數組轉換為json ajax 傳遞參數的時候不能直接傳遞數組 轉換為json 可直接傳遞 var datas = JSON.stringify(arr); // ajax $.ajax({ url:"",//傳遞地址 data:{datas: ...
  • 介紹 ExtJS作為前端最為強大的框架,功能豐富,無人能出其右,無論是界面之美,還是功能之強,ext都高居榜首。使用Ext JS的決定很簡單。我們寧願坐在Sencha的肩膀上,稱自 己高大,而不是重新發明輪子。Ext JS允許我們的團隊專註於我們的優勢 - 為商業行業提供智能解決方案。 ExtJS ...
  • js獲取文件上傳進度: js監聽: ajax文件上傳函數: 完整代碼: ...
  • 同源策略(Same origin Policy) 瀏覽器出於安全方面的考慮,只允許與本域下的介面交互。不同源的客戶端腳本在沒有明確授權的情況下,不能讀寫對方的資源。 本域指的是 同協議:如都是http或者https 同功能變數名稱:如都是 http://evenyao.com/a 和 http://even ...
  • 這裡我們以一個簡單的select作為原型來進行說明: 1.獲取/設置當前option的value值 2.獲取/設置當前option的文本:註意:.find("option[text='.......']")適用於input標簽,不適用與select標簽 3.獲取/設置當前option的index: ...
  • 在做圖片上傳的功能時, 使用刪除功能刪除了一張圖片, 然後想重新上傳原來刪除的圖片, 結果預覽不顯示, 也不能上傳成功 解決辦法, 在刪除方法里置空input 拿到input所在的位置, 找到這個input, 然後置空 還有一種方法是來回切換input的屬性 每次刪除圖片後, 改變input的typ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...