![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 3 Dołączył: 10.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko działa, jeśli pobieram jakiś element o konwencjonalnie nazwanym id, np:
Kod alert($("#content").html()); działa wyśmienicie. Jednak nie mogę się dobrać do czegoś takiego: Kod alert($("#pl-about.htm").html()); co mnie niesamowicie rozczarowuje, gdyż zgodnie z tym źródłem: http://www.electrictoolbox.com/valid-chara...l-id-attribute/ ten kod jest poprawny. Ktoś wie jak to przeskoczyć, bez zmiany id? Muszę sprawdzić, czy w dokumencie istnieje div o zadanym id, jeżeli tak, to go wyświetlić, a jeżeli nie, to go załadować z zewnętrznego pliku (pl-about.htm). -------------------- Blog Macieja Ciemborowicza
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
To że jest poprawny to nie znaczy jeszcze że działający. Różne przeglądarki różnie podchodzą do tego tematu - w zasadzie lepiej nie używać w idach żadnych znaków specjalnych poza '-_A-Z0-9' Jak koniecznie chcesz z ida pobrać nazwę pliku to zamień . choćby na _ (a później przy odzyskiwaniu nazwy odwrotnie).
-------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 3 Dołączył: 10.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
hmm... pomyślę od tym, ale póki co próbuję jeszcze walczyć. Coś takiego działa:
Kod alert($("#pl-about\\.htm").html()); Teraz tak, id trzymam w zmiennej newHash. Więc spróbowałem z wyrażeniem regularnym: Kod alert($("#" + newHash.replace(/[\.]/g, "\\\\\.")).html()); i nie działa. Wyrażenie na pewno jest poprawne, zwraca pl-about\\.htm (w przypadku tej akurat podstrony) -------------------- Blog Macieja Ciemborowicza
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
A dlaczego nie użyjesz choćby atrybutu rel? Zresztą, skoro chcesz kombinować.
-------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Kod #pl-about.htm Wybiera elementy o ID "pl-about" i klasie "htm" (oba warunki muszą być spełnione).Kod [id='pl-about.htm'] Powinno zadziałać bez problemu.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Heh, Xpath - że też wcześniej nie pomyślałem - tylko dlaczego jQuery rozróżnia zwykły selektor od Xpatha? Bug w silniku jQuery?
-------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ale to nie jest XPath, tylko zwykły, CSS-owy selektor atrybutu, z tego, co pamiętam.
![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jak przejrzałem teraz API to widzę gdzie popełniłem błąd. Rzeczywiście to nie Xpath (usunęli go w bodajże 1.3) tylko składniowo zbliżony zapis. Niemniej ja dalej uznaję to za prawie Xpath - bez znacznika atrybutu działa prawie tak samo.
Pytanie jednak dalej stoi otwarte - dlaczego skoro zapisy selektorów są równoważne to jeden działa, a drugi nie? @DOWN: ![]() Ten post edytował everth 13.08.2010, 19:22:59 -------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Bo nie używa się kropek jako części ID, a taka forma forma zapisu (po kropce klasa) jest bardzo wygodna.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:36 |