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

0

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

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

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

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.

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.

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.

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?

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".

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

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?

1 użytkowników online, w tym zalogowanych: 0, gości: 1