一千萬個為什麽

搜索

是否有一種更性感的方式來編寫這個jQuery選擇器?

我想在id foo (它是 body 的子代)的元素之前選擇 body 元素的所有子元素。因為它看起來不像:before():after()選擇器,所以我的工作方式如下:

$('body > :first').nextUntil('#foo').andSelf();

but it seems kludgy. Could this be done with fewer function calls, or more efficiently? Maybe something akin to $('body > *:before(#foo)') ?

最佳答案

這不是那個笨蛋。事實上,在選擇器中使用帶有“*”的示例比調用函數慢。

所以,我建議在原始選擇器中多使用一個函數:

$('body').children().first().nextUntil('#foo').andSelf() 

大多數這些函數使用一個簡單的數組切片來減少選擇,其中選擇器 必須遍歷DOM。

轉載註明原文: 是否有一種更性感的方式來編寫這個jQuery選擇器?