2016-04-06 13 views
-2

Ich versuche eine Klasse zu einem Element hinzuzufügen, das der Seite dynamisch hinzugefügt wird. Ich habe viele Lösungen für On-Click- oder andere Ereignisse gesehen, ich kann anscheinend keine für das Laden von Seiten finden. Ich brauche meinen Code sofort (ohne ein vom Benutzer ausgelöstes Ereignis), sobald das Element der Seite hinzugefügt wurde. Gibt es ein Äquivalent zu den folgenden Code, nur nicht für Klick aber Laden der Seite:Beim Laden der Seite Klasse zum dynamisch generierten Element hinzufügen

$('body').on('click', '#myDiv', function() { 
    $(this).addClass('myClass'); 
}); 
+0

irgendeinen Ratschlag, warum ich unten gewählt werde? dachte, es ist eine ziemlich direkte Frage. – nick

+0

Wenn Sie etwas tun wollen, sobald es in 'DOM' hinzugefügt wurde, warum haben Sie dann auch' click' Event? – Rayon

+0

Da ich möchte, dass das Ereignis direkt beim Laden der Seite eintritt, möchte ich, dass dies ohne die Benutzerinteraktion geschieht. – nick

Antwort

-2
$(document).ready(function() { 
    // Handler for .ready() called. 
}); 

eine Funktion auszuführen, nachdem das DOM bereit ist. jQuery API

+0

Wie beantwortet das die Frage? – Neal

+0

@neal hast du einen Ratschlag für mich? – nick

0
$("body").bind("DOMNodeInserted", function() { 
    $(this).find('#myDiv').addClass('my_own_class'); 
my}); 

Da dynamisch hinzugefügt Elemente über JavaScript nicht direkt zugegriffen werden können und das Element I Ziel ist versucht wird dynamisch an den DOM über eine Quelle, die ich keinen Zugang zu haben hinzugefügt. Um es zu manipulieren (Klasse hinzufügen), musste ich zuerst ein Elternelement ansprechen, das nicht dynamisch ist. Dann könnte ich .bind verwenden, um auf sein Kind (das dynamische Element) zu zielen. Von dort konnte ich die Klasse hinzufügen. Ich habe die folgende Frage beantwortet.

+0

Eine Erklärung, was der Code tut, würde anderen in der Gemeinschaft, die nach ähnlichen Lösungen suchen, zugute kommen – ochi

Verwandte Themen