В настоящее время я пишу механизм выбора CSS для серверной JS (have a look!). Чтобы получить прочную основу, я начал использовать тесты Qwery (существующий механизм выбора). Там я нашел a number of tests для «отношений-первых запросов». По-видимому, CSSselect (мой проект) не показывает ожидаемое поведение, но я не уверен, чего ожидать.Взаимосвязанные запросы
Я уже искал документацию, но не нашел ничего полезного. Моя текущая реализация интерпретирует их следующим образом:
>
эквивалентно:not(:root)
~
и+
эквивалентны:not(:first-child)
- пробелов в начале игнорируется
Qwerys интерпретация кажется, отличается, но есть ли что-нибудь официальное?
Что вы подразумеваете под '' ', эквивалентно': not (: root) '? Один из них - комбинатор, другой - псевдокласс. – BoltClock
'> tag' эквивалентен' тегу: not (: root) ' – fb55
Кроме того, ваш движок включает в себя ряд расширений jQuery; ': has()' и ': selected' также являются расширениями jQuery, а не частью CSS. – BoltClock