Я хочу выделить все дочерние элементы элемента body
перед элементом с идентификатором foo
(который является дочерним по дате body
). Так как это не выглядит как есть :before()
или :after()
селекторы, я получил это работает так:Есть ли более сексуальный способ написать этот селектор jQuery?
$('body > :first').nextUntil('#foo').andSelf();
но мне кажется запутано. Может ли это быть сделано с меньшим количеством вызовов функций или более эффективно? Может быть, что-то похожее на $('body > *:before(#foo)')
?
На самом деле есть селектор с названием Next Siblings Selector '$ ('# foo ~ *')' Однако я не вижу раньше. Может быть, лучше использовать nextUntil, потому что * имеет тенденцию быть проблемой производительности. – Powerlord
Так что, возможно, я мог бы получить то, что хочу, отрицая это. Может быть, более элегантный, возможно, медленный. –
'$ ('body> *: not (#foo, #foo ~ *)');' занимает примерно 750 раз дольше, чем '$ ('body'). Children(). First(). NextUntil ('# foo «) .andSelf()'. –