jQuery 遍曆-nextUntil()方法以及prevUntil()方法的使用介紹

來源:互聯網
上載者:User

nextUntil() 獲得每個元素所有跟隨的同胞元素,當有參數時,則直到遇到該方法的參數所匹配的元素時會停止搜尋。返回的新 jQuery 對象包含所有跟隨的同胞元素,但不包括被選取器、DOM 節點或已傳遞的 jQuery 對象匹配的元素。如果沒有參數,則會選取所有跟隨的同胞元素,此時與.nextAll()方法相同。

文法一:
複製代碼 代碼如下:
.nextUntil(selector,filter)

文法二:
複製代碼 代碼如下:
.nextUntil(element,filter)

詳細說明
如果給定一個表示 DOM 元素集合的 jQuery 對象,.nextUntil() 方法允許我們搜尋 DOM 樹中的元素跟隨的同胞元素,當遇到被該方法的參數所匹配的元素時會停止搜尋。返回的新 jQuery 對象包含所有跟隨的同胞元素,但不包含被參數匹配的元素。

如果選取器不匹配或未規定選取器,則會選取所有跟隨的同胞,則該方法選取的元素與 .nextAll() 方法相同。

對於 jQuery 1.6,DOM 節點或 jQuery 對象,而不是選取器,可傳遞到 .nextUntil() 方法。

該方法接受可選的選取器運算式作為其第二參數。如果指定該參數,則將通過檢測元素是否匹配該選取器來篩選它們。

先看下例子:
複製代碼 代碼如下:
<dl>
  <dt id="term-1">term 1</dt>
  <dd>definition 1-a</dd>
  <dd class="abc">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 id="term-3">term 3</dt>
  <dd>definition 3-a</dd>
  <dd>definition 3-b</dd>
</dl>

複製代碼 代碼如下:
$("#term-2").nextUntil("dt").css("background-color", "red");

結果如下:

注意:

1、不包括自己。即上面的例子中不包括#term-2本身

2、不包括參數1所匹配的元素。即頭尾去掉。

3、如果選取器不匹配或未規定選取器,則會選取所有跟隨的同胞;比如:

$("#term-2").nextUntil("dts").css("background-color", "red");

我把上面的選取器由原來的dt改為dts,得到的結果如下:


複製代碼 代碼如下:
$("#term-1").nextUntil("#term-3", "dd").css("color", "blue");
//或者採用DOM元素:
//var term3 = document.getElementById("term-3");
//$("#term-1").nextUntil(term3, "dd").css("color", "blue");

$("#term-1").nextUntil("#term-3", ".abc").css("color", "blue");

結果如下:



下面看一下不提供篩選的選取器的例子

$("#term-1").nextUntil("#term-3").css("color", "blue");

結果如所示:



prevUntil()方法和nextUntil()方法差不多,區別就是一個往上,一個往下。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.