Dostęp do elementów strony przy asynchronicznym jej budowaniu

Dostęp do elementów strony przy asynchronicznym jej budowaniu
MI
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 5 lat
  • Postów:32
0

Poprzez ajax generuję tagi html. Potrzebuje dostępu do nich. Ten sposób nie dział:

Kopiuj
$( document ).ready(function() {
    $effected=$("*");

zwraca mi tylko te które na sztywno są w szablonie. Jest jakiś sposób otrzymania ich po zbudowaniu DOM

Freja Draco
Freja Draco
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
0

A jak generujesz te tagi?

  • doklejasz na chamca do innerHTML strony
  • czy używasz document.createElement / document.body.appendChild
    ?

Tylko w tym drugim wypadku będą dostępne w drzewie dokumentu.


MA
  • Rejestracja:prawie 17 lat
  • Ostatnio:6 dni
  • Postów:644
1

Skoro wczytujesz je za pomocą AJAX to dlaczego chcesz je pobierać zaraz po wczytaniu DOM? Będziesz miał do nich dostęp dopiero po tym jak wykona się AJAX.
To tak jakbyś chciał mieć wgląd w to ile osób przybyło na koncert jeszcze przed koncertem. Prawdodpobnie robisz coś na około, rozwiń proszę wątek o to co chcesz osiągnąć - od początku do końca.

MI
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 5 lat
  • Postów:32
0
Markuz napisał(a):

Skoro wczytujesz je za pomocą AJAX to dlaczego chcesz je pobierać zaraz po wczytaniu DOM? Będziesz miał do nich dostęp dopiero po tym jak wykona się AJAX.
To tak jakbyś chciał mieć wgląd w to ile osób przybyło na koncert jeszcze przed koncertem. Prawdodpobnie robisz coś na około, rozwiń proszę wątek o to co chcesz osiągnąć - od początku do końca.

Używam ajax post, który pobiera dane z rest i buduje mi tagi html. Z drugiej strony mam pewną funkcję, która powiększa text - to tak w skrócie. Generalnie to nie jest ważna. Chodzi mi czy idzie się do tego jakoś dostać po załadowanie całego dokumentu.

MA
  • Rejestracja:prawie 17 lat
  • Ostatnio:6 dni
  • Postów:644
0

Pokaż tą funkcję która powiększa tekst - bo domyślam się, że chodzi o to, że nie powiększa tekstu w danych które są wczytane za pomocą AJAX?

Freja Draco
Freja Draco
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
0
Micheal napisał(a):

Używam ajax post, który pobiera dane z rest i buduje mi tagi html. Z drugiej strony mam pewną funkcję, która powiększa text - to tak w skrócie. Generalnie to nie jest ważna. Chodzi mi czy idzie się do tego jakoś dostać po załadowanie całego dokumentu.

Do prawidłowo dodanych dynamicznie elementów jak najbardziej idzie się dobrać tak samo jak do tych statycznych, ale będą oczywiście dostępne dopiero po tym, jak zostaną dodane. Natomiast:
"The ready event occurs when the DOM (document object model) has been loaded".


MI
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 5 lat
  • Postów:32
0
Markuz napisał(a):

Pokaż tą funkcję która powiększa tekst - bo domyślam się, że chodzi o to, że nie powiększa tekstu w danych które są wczytane za pomocą AJAX?

Dokładnie jak piszesz. Pobieram wszystkie elementy strony i zmieniam rozmiar czcionki.
var $effected = $("*"); Nie ma jakiegoś eventu, który wykonuje się wtedy kiedy wszystkie elementy strony są już stworzone nawet te ajaksem

edytowany 2x, ostatnio: Micheal
Freja Draco
Freja Draco
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
0
Micheal napisał(a):

Dokładnie jak piszesz. Pobieram wszystkie elementy strony i zmieniam rozmiar czcionki.
var $effected = $("*");

Sugeruję nie bawić się z każdym elementem z osobna, tylko zmodyfikować globalnie style danej klasy. Wtedy zadziała i przed załadowaniem elementu i po załadowaniu elementu.

Nie ma jakiegoś eventu, który wykonuje się wtedy kiedy wszystkie elementy strony są już stworzone nawet te ajaksem

A skąd przeglądarka ma wiedzieć, że to już są wszystkie elementy?


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.