jQuery學習筆記(2)-選擇器的使用

来源:http://www.cnblogs.com/2star/archive/2016/03/17/5289402.html
-Advertisement-
Play Games

一、選擇器是什麼 有了jQuery的選擇器,我們幾乎可以獲取頁面上任意一個或一組對象 二、Dom對象和jQuery包裝集 1.Dom對象 JavaScript中獲取Dom對象的方式 Hello World 輸出的結果 2.jQuery包裝集 可以理解為是Dom對象的擴展,在jQuery的世界中所有的...


一、選擇器是什麼

有了jQuery的選擇器,我們幾乎可以獲取頁面上任意一個或一組對象

二、Dom對象和jQuery包裝集

1.Dom對象

JavaScript中獲取Dom對象的方式

<div id="divMsg">Hello World</div>
<script>
    var div = document.getElementById("divMsg");
    console.log(div);
    var divs = document.getElementsByTagName("div");
    console.log(divs);
</script>

輸出的結果

image

2.jQuery包裝集

可以理解為是Dom對象的擴展,在jQuery的世界中所有的對象,都被封裝成一個jQuery包裝集,包裝集是一個集合

<div id="divMsg">Hello World</div>
<script>
    $(function () {
        var div = $("#divMsg");
        console.log(div);
        var divs = $("div");
        console.log(divs);
    })
</script>

輸出的結果

image

3.Dom對象與jQuery對象的轉換

(1)Dom轉jQuery包裝集

<div id="divMsg">Hello World</div>
<script>
    //第一步:獲取Dom元素對象
    var div = document.getElementById("divMsg");
    //第二步:使用$()來轉換
    var $div = $(div);
    console.log($div);
</script>

(2)jQuery包裝集轉Dom對象

註:通過索引器返回的不再是jQuery包裝集,而是一個Dom對象

<div id="divMsg">Hello World</div>
<script>
    //第一步:通過索引器從包裝集獲取一個元素
    var div = $("#divMsg")[0];
    console.log(div);
</script>

三、選擇器的分類

1.jQuery選擇器按照功能主要分為“選擇”和“過濾”。並且可以配合使用,可以同時使用組合成一個選擇器字元串。主要的區別是:“過濾”作用的選擇器是指定條件從前面匹配的內容中篩選,“過濾”選擇器也可以單獨使用,表示從全部“*”中帥選。比如

$(":[title]") 等同於 $("*:[title]")

而“選擇”功能的選擇器則不會有預設的範圍,因為作用是“選擇”而不是“過濾”;

2.基礎選擇器Basics

  1 $("#divId") 		         選取ID為divId的元素
  2 $("a") 			選取所有<a>元素
  3 $(".bgRed") 			選取class為bgRed的元素
  4 $("*")			選取所有元素
  5 $("#divId, a.bgRed")		選取ID為divId的元素,和class為.bgRed的<a>元素

3.層次選擇器

  1 $(".bgRed div") 		選取class為bgRed的元素中的所有<div>元素
  2 $(".myList>li") 		選取class為myList元素中的直接子節點<li>對象
  3 $("#hibiscus+img")		選取在id為hibiscus元素後面的img對象
  4 $("#someDiv~[title]")		選取id為someDiv的對象後面所有帶有title屬性的元素

4.基本過濾器Basic Filters

  1 $("tr:first")		         選取第一個<tr>元素
  2 $("tr:last")			選取最後一個<tr>元素
  3 $("input:not(:checked)")         選取未選中的 <input> 元素
  4 $("tr:odd")			選取偶數位置的<tr>元素
  5 $("tr:eq(1)")			選取第2個<tr>元素(索引從0開始)
  6 $("tr:gt(0)")			選取索引大於等於1的<tr>元素
  7 $("tr:lt(2)")			選取索引小於2的<tr>元素
  8 $(":header")                     選取頁面所有的標題

5.內容過濾器Content Filters

  1 $("div:contains('Kimisme')")     選取包含 "Kimisme" 的 <div>元素
  2 $("td:empty")			選取不包含子元素或者文本的<td>元素
  3 $("div:has(p)")		選取含有<p>元素的<div>元素
  4 $("td:parent")			選取含有子元素或者文本的 <td> 元素

6.可見性過濾器 Visibility Filters

  1 $("tr:hidden")			選取不可見的 <tr> 元素:
  2 $("tr:visible")		選取可見的 <tr> 元素:

7.屬性過濾器 Attribute Filters

  1 $("div[id]")			選取含有 id 屬性的 <div> 元素
  2 $("input[name='newsletter']")	選取 name 屬性是 newsletter 的 <input> 元素
  3 $("input[name!='newsletter']")	選取 name 屬性不是 newsletter 的 <input> 元素
  4 $("input[name^='news']")	選取 name 屬性以news開頭的 <input> 元素
  5 $("input[name$='letter']")	選取 name 以 letter 結尾的 <input> 元素: 
  6 $("input[name*='man']")		選取 name 包含 man 的 <input> 元素
  7 $("input[id][name$='man']")	選取含有 id 屬性,並且它的 name 屬性是以 man 結尾的<input>元素

8.子元素過濾器 Child Filters

  1 $("ul li:nth-child(2)")		在 <ul> 元素中查找第2個 <li> 元素
  2 $("ul li:first-child")		在 <ul> 元素中查找第1個 <li> 元素 
  3 $("ul li:last-child")		在 <ul> 元素中查找最後一個 <li> 元素 
  4 $("ul li:only-child")		在 <ul> 元素中查找是唯一子元素的 <li> 元素

9.表單選擇器Forms

  1 $(":input")			選取所有的<input>元素
  2 $(":text")			選取所有type=”text”的文本框
  3 $(":password")		         選取所有密碼框
  4 $(":radio")			選取所有單選按鈕
  5 $(":checkbox")		         選取所有覆選框 
  6 $(":submit")		         選取所有提交按鈕
  7 $(":image")			選取所有圖像域
  8 $(":reset")			選取所有重置按鈕
  9 $(":button")		         選取所有按鈕
 10 $(":file")			選取所有文件域

10.表單過濾器Form Filters

  1 $("input:enabled")		選取所有可用的input元素: 
  2 $("input:disabled")		選取所有不可用的input元素: 
  3 $("input:checked")		選取所有選中的覆選框元素:
  4 $("select option:selected")	選取所有選中的<select>元素:

四、參考文章

http://www.cnblogs.com/zhangziqiu/archive/2009/05/03/jQuery-Learn-2.html

五、備註

樣式發不出來還是不行,還是要用table,有空再改


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

-Advertisement-
Play Games
更多相關文章
  • 普通電腦沒有通用的輸入輸出口(GPIO),但有時候我就想輸入一個開關量。 比如讓用戶拉一下拉繩開關就啟動某個應用,比如裝一個觸點開關判斷門是打開的還是關閉的,比如.... 需求是如此簡單,你都不願意花幾十塊錢去買一個單片機,更不用說PCI擴展卡、PLC之類的了。。怎麼辦吶? 有辦法!最簡單的用串口就
  • 運行-cmd,輸入下麵命令:C:\WINDOWS\Microsoft.NET\Framework\v版本號\aspnet_regiis.exe -i即可 以下是aspnet_regiis.exe參數的說明信息: -i - 安裝 ASP.NET 的此版本,並更新 IIS 元資料庫根處的腳本映射和根以下
  • 使用ASP.NET模版生成HTML靜態頁面並不是難事,主要是使各個靜態頁面間的關聯和鏈接如何保持完整。本文介紹了使用ASP.NET模版生成HTML靜態頁面的五種方案。 ASP.NET模版生成HTML靜態頁面方案1: 你可以用這個函數獲取網頁的客戶端的html代碼,然後保存到.html文件里就可以了。
  • 泛型是CLR和編程語言提供的一種特殊機制,它用於滿足“演算法重用” 。 可以想象一下一個只有操作的參數的數據類型不同的策略模式,完全可以用泛型來化為一個函數。 以下是它的優勢: 這就是為什麼List<T>淘汰了ArrayList的原因,特別是在進行值類型操作時,因為裝箱拆箱過多而差距很大。 約定:泛型
  • 本篇體驗ASP.NET Web API的安全管道。這裡的安全管道是指在請求和響應過程中所經歷的各個組件或進程,比如有IIS,HttpModule,OWIN,WebAPI,等等。在這個管道中大致分兩個階段,一個是驗證階段,另一個是授權階段。在ASP.NET Web API v1版本的時候,安全管道大致
  • 1. 【二進位(0~1)、八進位(0~7)、十進位(0~9)】→十六進位(0~15,10~15→A~F) 101011→1*20+1*21+0*22+1*23+0*24+1*25=1+2+0+8+0+32=43 053→3*80+5*81=3+40=43 0x2B=B*160+2*161=11+32
  • In the previous tutorial you created an MVC application that stores and displays data using the Entity Framework and SQL Server LocalDB. In this tutor
  • 1. 2.Note It's a common practice to implement the repository pattern in order to create an abstraction layer between your controller and the data acce
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...