Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%)
|
Hej,
Czasami przy wrzucaniu dużych ilości danych muszę walnąć jakąś funkcję w setTimeout żeby wywołać efekt opóźnionego wykonania operacji. Czy istnieje możliwość sprawdzenia czy dany element został już wczytany? Czy należy robić setTimeout, a w nim warunkiem sprawdzać czy został element załadowany? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%)
|
Zapewne można, ale ważne jest to, jaką treść dodajemy. Zaimplementujmy sobie funkcję exists():
I teraz, jeśli ładujemy/wstawiamy elementy html posiadające własny identyfikator, to nie ma żadnego problemu, wystarczy proste sprawdzenie:
Problem pojawia się wtedy, jeśli dodajemy tekst, bo wtedy trzeba zadbać o to, żeby tekst miał odpowiednią formę zanim porównamy go z zawartością strony. Tutaj mógłby pomóc selektor :contains():
W drugim przypadku można również skorzystać z wyrażeń regularnych lub operacji na łańcuchach znakowych. @askone To czy dany element istnieje w jQuery możemy sprawdzić tylko za pomocą atrybutu length tego elementu. Z tego co wiem inaczej się nie da, bo jQuery zwraca obiekt jQuery gdy nie może znaleźć określonego przez nas elementu html. |
|
|
|
starach [jQuery] html()/append()/etc - Jak sprawdzić czy już dodane 16.08.2011, 22:04:10
wookieb A jak wczytujesz dany element? 16.08.2011, 22:10:07
starach Za pomocą html() albo append() lub innych tego typ... 17.08.2011, 08:34:07
askone O ile dobrze kojarzę to, jeśli jako element rozumi... 17.08.2011, 09:21:20
askone Cytat(mortus @ 17.08.2011, 10:59:48 )... 17.08.2011, 11:13:10 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 19:07 |