Nokogiri "не" селектор - PullRequest
       33

Nokogiri "не" селектор

5 голосов
/ 09 марта 2011

Есть ли способ в Нокогири выбрать все элементы, которые не соответствуют селектору. В jQuery я бы использовал:

:not(*[@class='someclass'])

Однако следующий код дает мне синтаксическую ошибку xpath

dom = Nokogiri::HTML(@file)
dom.css(":not(*[@class='someclass'])")

Ответы [ 3 ]

12 голосов
/ 03 июня 2011

В CSS3: not () принимает селектор, как и любой другой , поэтому он будет:

dom.css(":not(.someclass)")

(не проверено, но селектор прав)

4 голосов
/ 08 мая 2012

В дополнение к ответу тонны, если вы хотите использовать два класса, вам бы хотелось:

.local:not(.hide) 
3 голосов
/ 09 марта 2011

Я не уверен насчет синтаксиса, который вы используете, но в основном вам нужен селектор xpath:

dom.xpath("//wherever/*[not (@class='someclass')]")
...