問題出處:http://stackoverflow.com/quest......reater-than-3-and-less-than-6
原發問者想要從一堆元素中取得索引大於 3 且小於 6 的元素,所以應該是要取到索引為第 4 及 5 這兩元素。看到這樣的問題描述之後,很多人直覺就會這樣寫:
檢視原始碼 JavaScript
1 | $('td:gt(3):lt(6)'); |
但這是不對的,因為一但執行了 :gt(3) 之後,那麼剩下來的元素就索引就整個被改變從 0 開始,所以接著再套上 :lt(6) 時,就會變成從 0 到 5 之間的就又被選擇了。
若要使用 :gt() 及 :lt() 的話,應該要把使用的順序反過來:
檢視原始碼 JavaScript
1 | $('td:lt(6):gt(3)'); |
這樣才能先取出小於 6 的之後,再從裡面再篩選出大於 3 的
但最建議且最快速的方式是使用 .slice(start[, end]):
檢視原始碼 JavaScript
1 | $('td').slice(4, 6); |
這樣出來的結果會跟上面的是一樣的,且在執行上會比使用 :gt() 及 :lt() 快上
(紅色為使用 .slice(), 越長表示越好)
打錯了喔!! 大於 3 且小於 6
原發問者想要從一堆元素中取得索引大於 3 且小於 "3" 的元素
感謝糾正, 已更正囉。
快過年了, 專注力快變成 0 了。
男丁格爾,給您拜年啦!祝福您新春大吉!龍年大運!開心健康!
大家都新年快樂!!