В следующем фрагменте HTML:
<div><p class="a b c"></p> <p class="a c"></p> <p class="d"></p> </div>
Я хочу выбрать только второй элемент p
(с классом a
и без b
класс), используя not
селектор следующим образом:
p.a:not(.b)
Аналог xpath:
.//p[contains(concat(' ', normalize-space(@class), ' '), ' a ')][not(self::*[contains(concat(' ', normalize-space(@class), ' '), ' b ')])]
.
Но когда я использую это Выражение xpath, он не может найти элемент.
Есть ли что-то еще, что я могу использовать для достижения эффекта селектора not
?
Обновление: кажется, я сделал ошибка, потому что p.a:not(.b)
и его коллега xpath, кажется, прекрасно работают для XML::LibXML
.
Это не сработало, потому что я ошибся в одном из условий if
…