看板 Ajax 關於我們 聯絡資訊
假設DOM是這樣的結構,當然也有可能目標不是在同一個父節點之下。 <ul> <li class="a">1</li> <li class="b">2</li> <li class="b">3</li> <li class="b">4</li> <li class="a">5</li> <li class="b">6</li> </ul> 我們把 li class="b" 的 DOM 用JQuery集合起來 items = $("li.b") 如果想要在click第二個li.b時取得它之後所有li.b 一般的做法好像都是 $("li.b").click(function(){ var _next = $(this).nextALL('li.b'); }) 但是如要從物件集合本身來做這個動作的話 (比如在流程中是不會知道物件集合的selector條件如何) items.click(function(){ var _next = $(this).nextALL(items); 我想是在點 3 時 取得 4,6 , 不過這邊是取得4,5,6 }) 能不能單純從物件集合本身來做這樣的功能? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.67.233.81
LPH66:.nextAll().filter(items) 這樣行嗎? 11/15 09:38
LPH66:剛剛簡單測了一下應該是可行的: http://jsfiddle.net/BA644/ 11/15 10:24
abgne:.nextAll().filter(items) 可直接改成 .nextAll('.b') 11/15 10:29
qwer820404:提供另外一種作法 11/15 10:30
qwer820404:http://jsfiddle.net/Mn4u9/1/ 利用了addBack 11/15 10:32
qwer820404:但是本身會包含到裡面 11/15 10:32
LPH66:>3F 原 PO 想要的就要是用 items 這個已有的集合做過濾... 11/15 11:17
abgne:@LPH66 抱歉, 是我眼殘 XD 11/16 00:39