Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [xpath] //*[not(@id)]//a - nie działa. Czemu?
Forum PHP.pl > Forum > XML, AJAX > XML
usmiechsie
Czemu tak jak w tytule nie działa:
//a[ancestor::*[not(@id)]]
bądź //*[not(@id)]//a questionmark.gif
mariuszn3
Nie działa to znaczy? Nic nie zwraca.. czy zwraca nie to czego oczekujesz?
usmiechsie
tzn. że wybiera elementy, w których przodek może posiadać atrybut: id (a tak właśnie nie powinno być)
mariuszn3
Twoje zapytanie jest nie precyzyjne. Chodzi Ci o to by wybrać wszystkie elementy <a>, których żaden przodek nie posiada atrybutu "id". Natomiast Twoje zapytanie pyta o elementy <a>, które posiadają przodka bez atrybutu "id" (widzisz różnicę?).. wystarczy, że jeden z przodków elementu <a> nie posiada atrybutu "id" i element zostanie zwrócony.
Twoje zapytanie powinno wyglądać mniej więcej tak:
Kod
.//a[not(ancestor::*[@id])]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.