Witam.
Załóżmy, że mamy:
<img src="image.jpg" alt="obrazek" title="zwykły jpg">
Potrzebuję funkcji, która zwróci mi wszystkie atrybuty i ich wartości w tablicy.
Wiem, że gdzieś już to kiedyś widziałem. Szukałem, ale nic nie udało mi się teraz znaleźć:(.
Ma ktoś jakiś pomysł?
Z góry dzięki.
- Rejestracja:ponad 17 lat
- Ostatnio:prawie 13 lat
- Postów:48
- Rejestracja:ponad 15 lat
- Ostatnio:ponad 12 lat
@yelon:
@Deti:
Chciałbym uściślić, że ładna wersja Detiego (przydatna gdy programista/zespół jest przyzwyczajony do takiej pętli) nie jest dokładnie tym, co klasyczny for yelona. W rzadkich, ale praktycznych przypadkach różnica może być istotna.
Otóż lista attributes[index] zwraca listę atrybutów w kolejności, w jakiej wystąpiły w kodzie źródłowym. W każdym razie powinna to robić. Dla niektórych aplikacji może to mieć znaczenie. Pętla Detiego oczywiście odwraca tę kolejność, więc nie zawsze można jej użyć. Choć nie pamiętam, czy w ogóle kiedyś zależało mi na kolejności atrybutów.
Abstrahując od tej -- zwykle nieistotnej -- różnicy, mam dla Was niestety potencjalnie złą wiadomość. attributes[index] jest słabo/głupio wspierane przez przeglądarki. Tylko przeglądarki najlepiej wspierające standardy ogarniają tę własność prawidłowo. Najnowsze IE (wersja 8) i Firefox (3.5) niestety nie. W przypadku tych przeglądarek błąd nie jest poważny: po prostu podają atrybuty w nieprawidłowej kolejności. Kolejność jednak pewnie nie ma tutaj takiego znaczenia, więc to nie jest duży problem.
Znacznie gorsza sytuacja jest w przypadku starszych wersji IE. IE5, IE6 i niestety również IE7 podają listę... wszystkich możliwych atrybutów, jakie mogą zostać zdefiniowane w elemencie! Nie ogranicza się nawet do atrybutów elementu img, tylko w ogóle wszystkich atrybutów jakichkolwiek elementów w HTML-u. Jeśli piszesz kod, który ma działać również w IE6/7, to musisz wziąć to pod uwagę.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.