jQuery之篩選

来源:http://www.cnblogs.com/WWWrs/archive/2017/05/16/6863477.html
-Advertisement-
Play Games

jQuery 篩選 1)過濾 2)查找 3)串聯 eq(index| index) 獲取匹配的第二個元素 HTML 代碼: This is just a test. So is this jQuery 代碼: $("p").eq(1).css("color","red") 結果: [ So is t ...


jQuery

篩選

1)過濾
2)查找
3)串聯

eq(index|-index)

獲取匹配的第二個元素

HTML 代碼:
<p> This is just a test.</p> <p> So is this</p>
jQuery 代碼:
$("p").eq(1).css("color","red")
結果:
[ <p> So is this</p> ]

first()

獲取第一個元素

獲取匹配的第一個元素
HTML 代碼:
<ul>
    <li>list item 1</li>
    <li>list item 2</li>
    <li>list item 3</li>
    <li>list item 4</li>
    <li>list item 5</li>
</ul>
jQuery 代碼:
$('li').first().css("color","red")
結果:
[ <li>list item 1</li> ]

last()

獲取最後個元素

獲取匹配的最後個元素
HTML 代碼:
<ul>
    <li>list item 1</li>
    <li>list item 2</li>
    <li>list item 3</li>
    <li>list item 4</li>
    <li>list item 5</li>
</ul>
jQuery 代碼:
$('li').last()
結果:
[ <li>list item 5</li> ]

hasClass(class)

檢查當前的元素是否含有某個特定的類,如果有,則返回true。

給包含有某個類的元素進行一個動畫。
HTML 代碼:
<div class="protected"></div><div></div>
jQuery 代碼:
$("div").click(function(){
  if ( $(this).hasClass("protected") )
    $(this)
      .animate({ left: -10 })
      .animate({ left: 10 })
      .animate({ left: -10 })
      .animate({ left: 10 })
      .animate({ left: 0 });
});

filter(expr|obj|ele|fn)

篩選出與指定表達式匹配的元素集合。

保留子元素中不含有ol的元素。
HTML 代碼:
<p><ol><li>Hello</li></ol></p><p>How are you?</p>
jQuery 代碼:
$("p").filter(function(index) {
  return $("ol", this).length == 0;
});
結果:
[ <p>How are you?</p> ]

is

根據選擇器、DOM元素或 jQuery 對象來檢測匹配元素集合,如果其中至少有一個元素符合這個給定的表達式就返回true。

判斷點擊li標簽增加背景色為紅色,如果點擊的是第2個strong,當前的li增加背景色為綠色,
HTML 代碼:
<ul>
  <li><strong>list</strong> item 1 - one strong tag</li>
  <li><strong>list</strong> item <strong>2</strong> - two <span>strong tags</span></li>
  <li>list item 3</li>
</ul>
jQuery 代碼:
$("li").click(function() {
  var $li = $(this),
    isWithTwo = $li.is(function() {
      return $('strong', this).length === 2;
    });
  if ( isWithTwo ) {
    $li.css("background-color", "green");
  } else {
    $li.css("background-color", "red");
  }
});

map

將一組元素轉換成其他數組(不論是否是元素數組)

把form中的每個input元素的值建立一個列表。
HTML 代碼:
<p><b>Values: </b></p>
<form>
  <input type="text" name="name" value="John"/>
  <input type="text" name="password" value="password"/>
  <input type="text" name="url" value="http://ejohn.org/"/>
</form>
jQuery 代碼:
$("p").append( $("input").map(function(){
  return $(this).val();
}).get().join(", ") );
結果:
[ <p>John, password, http://ejohn.org/</p> ]

has

保留包含特定後代的元素,去掉那些不含有指定後代的元素。

給含有ul的li加上背景色
HTML 代碼:
<ul>
  <li>list item 1</li>
  <li>list item 2
    <ul>
      <li>list item 2-a</li>
      <li>list item 2-b</li>
    </ul>
  </li>
  <li>list item 3</li>
  <li>list item 4</li>
</ul>
jQuery 代碼:
$('li').has('ul').css('background-color', 'red');

not

刪除與指定表達式匹配的元素

從p元素中刪除帶有 select 的ID的元素
HTML 代碼:
<p>Hello</p><p id="selected">Hello Again</p>
jQuery 代碼:
$("p").not( $("#selected")[0] )
結果:
[ <p>Hello</p> ]

slice

選取一個匹配的子集

只選取第二個p元素
HTML 代碼:
<p>Hello</p><p>cruel</p><p>World</p>
jQuery 代碼:
$("p").slice(1, 2).wrapInner("<b></b>");
結果:
[ <p><b>cruel</b></p> ]

children

取得一個包含匹配的元素集合中每一個元素的所有子元素的元素集合。

在每個div中查找 .selected 的類。
HTML 代碼:
<div><span>Hello</span><p class="selected">Hello Again</p><p>And Again</p></div>
jQuery 代碼:
$("div").children(".selected")
結果:
[ <p class="selected">Hello Again</p> ]

find

搜索所有與指定表達式匹配的元素。這個函數是找出正在處理的元素的後代元素的好方法。

從所有的段落開始,進一步搜索下麵的span元素。與$("p span")相同。
HTML 代碼:
<p><span>Hello</span>, how are you?</p>
jQuery 代碼:
$("p").find("span")
結果:
[ <span>Hello</span> ]

next

取得一個包含匹配的元素集合中每一個元素緊鄰的後面同輩元素的元素集合。

找到每個段落的後面緊鄰的同輩元素。
HTML 代碼:
<p>Hello</p><p>Hello Again</p><div><span>And Again</span></div>
jQuery 代碼:
$("p").next()
結果:
[ <p>Hello Again</p>, <div><span>And Again</span></div> ]

nextAll

查找當前元素之後所有的同輩元素。

給第一個div之後的所有元素加個類
HTML 代碼:
<div></div><div></div><div></div><div></div>
jQuery 代碼:
$("div:first").nextAll().addClass("after");
結果:
[ <div class="after"></div>, <div class="after"></div>, <div class="after"></div> ]

nextUntil

查找當前元素之後所有的同輩元素,直到遇到匹配的那個元素為止。

給#term-2後面直到dt前的元素加上紅色背景
HTML 代碼:
<dl>
  <dt>term 1</dt>
  <dd>definition 1-a</dd>
  <dd>definition 1-b</dd>
  <dd>definition 1-c</dd>
  <dd>definition 1-d</dd>

  <dt id="term-2">term 2</dt>
  <dd>definition 2-a</dd>
  <dd>definition 2-b</dd>
  <dd>definition 2-c</dd>

  <dt>term 3</dt>
  <dd>definition 3-a</dd>
  <dd>definition 3-b</dd>
</dl>jQuery 代碼:
$('#term-2').nextUntil('dt').css('background-color', 'red');
      
var term3 = document.getElementById("term-3");
$("#term-1").nextUntil(term3, "dd").css("color", "green");

andSelf()

加入先前所選的加入當前元素中

選取所有div以及內部的p,並加上border類
HTML 代碼:
<div><p>First Paragraph</p><p>Second Paragraph</p></div>
jQuery 代碼:
$("div").find("p").andSelf().addClass("border");
結果:
<div class="border">
    <p class="border">First Paragraph</p>
    <p class="border">Second Paragraph</p>
</div>

contents()

查找匹配元素內部所有的子節點(包括文本節點)

查找所有文本節點並加粗
HTML 代碼:
<p>Hello <a href="http://ejohn.org/">John</a>, how are you doing?</p>
jQuery 代碼:
$("p").contents().not("[nodeType=1]").wrap("<b/>");
結果:
<p><b>Hello</b> <a href="http://ejohn.org/">John</a>, <b>how are you doing?</b></p>

end()

回到最近的一個"破壞性"操作之前。即,將匹配的元素列表變為前一次的狀態。

選取所有的p元素,查找並選取span子元素,然後再回過來選取p元素

HTML 代碼:
<p><span>Hello</span>,how are you?</p>
jQuery 代碼:
$("p").find("span").end()
結果:
[ <p><span>Hello</span> how are you?</p> ]

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

-Advertisement-
Play Games
更多相關文章
  • 啥都不說了,直接上 1.Html結構代碼 2.css樣式代碼 3.javascript代碼 4.主要: a.字體豎排垂直:字體大小font-size = 包含字體標簽寬度width b.js中stop()方法:stop()表示結束動畫有過渡 stop(true)表示暫停動畫, stop(true,t ...
  • 又是輪播?沒錯,換個樣式玩輪播。 HTML: CSS: JS: ...
  • # vuejs tutorial ![vue-logo](img/logo.png) ## 搭建案例演示自動刷新環境 創建一個 `package.josn` 文件: ```bashnpm init -y``` 安裝 `browser-sync`: ```bash# npm install --sav ...
  • 一、安裝express cnpm || npm install express --save ; 1. Hello World 2.express路由 3.靜態資源 app.user(express.statice('public')); 二、express的中間件 1.應用級中間件 2.路由級中間 ...
  • 1.模塊的寫法 模塊化編程一般都有這麼幾個過渡過程,如下描述。 原始方法 上面的函數m1()和m2(),組成一個模塊。使用的時候,直接調用就行了。 這種做法的缺點很明顯:"污染"了全局變數,無法保證不與其他模塊發生變數名衝突,而且模塊成員之間看不出直接關係。 對象寫法 為瞭解決上面的缺點,可以把模塊 ...
  • 最近遇到一個問題:HTML里的哪一部分Javascript 會在頁面載入的時候被執行()A : 文件頭部 B : 文件尾 C : <head>標簽部分 D : <body>標簽部分 雖然大家都知道選D,但是關於答案的解析眾說紛紜,由此可見大家對於瀏覽器的載入解析渲染還是不夠瞭解。 瀏覽器是從上到下依 ...
  • 一、Sublime3下載 1.百度搜索Sublime3,選擇進入下載頁面 2.小編選擇下載Win64位安裝程式 二、Sublime3安裝 傻瓜式安裝,此處省略千言萬語,然後打開就可以使用了,大家要註意的一點是,Sublime3是收費軟體,最傻的是,如果用戶不購買的話,在使用過程中會時不時出現要求購買 ...
  • Dom是Document Object Model的縮寫,意思是文檔對象模型。DOM是一種與瀏覽器、平臺、語言無關的介面,使用該介面可以輕鬆訪問頁面中所有的標準組件。DOM操作可以分為三個方面即DOM Core(核心)、HTM-DOM和CSS-DOM。 每一個網頁都可以用DOM表示出來,每個DOM都 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...