根據http://api.jquery.com/category/selectors/我們可以在jQuery中使用大量的CSS選擇器,那裏沒有提到:nth-last-child()
。然而,當我測試以下(使用jQuery 1.7.1從谷歌),但實際上,而不是在IE 8仿真模式IE 9作用於火狐,Chrome和IE 9:jQuery真正支持哪些CSS3選擇器:第n-最後孩子()?
$('li:nth-last-child(2)').css('color', 'red');
那麼,什麼是發生了什麼?它看起來好像jQuery生成的CSS代碼,如li:nth-last-child(2) { color: red }
,並以某種方式注入它,然後在支持使用選擇器的瀏覽器上工作正常。但那會很奇怪。
最重要的是,是否有一些技巧讓jQuery支持所有瀏覽器上的這種選擇器?
當然,應該指出的是,jQuery選擇可以使用擴展:'$ .expr [ ':'] [ '第n個最後一個孩子'] =函數(){...};' – zzzzBov 2012-07-31 17:09:12
@ zzzzBov:感謝您的提醒!我已經提到,在編輯中,現在我正試圖想出自己的實現... – BoltClock 2012-07-31 17:43:25
@BoltClock它在http://api.jquery.com/nth-of-type-選擇器/ _it「[借用]從CSS 1-3,然後[添加]自己的」選擇器._ – 2013-01-21 09:28:29