Сообщение от devote
|
вот именно это и приводит к тому что TYPE проходит в любой части селектора
|
не ) это уже не регексп решает, но проверить просто, вы смотрите, если это начало последовательности, то после сборки распарсенного простого селектора ставите флажок, мол TYPE уже был. А в том ветвлении, где вы проверяете не селектор ли типа заматчен, вы смотрите на этот флажок и кидаете ошибку если он тру. Если вы в итерации видите что это конец последовательности простых селекторов то флажок переключаете на фолс
alert(document.querySelectorAll("a:not([href*=test]).test"));
Нативный qsa ест, значит так можно )