2012-03-28 8 views
0

Nach Elementen Seite Zugabe so etwas wie dieses verwenden,Wie füge ich Elemente zum DOM hinzu und beziehe mich dann auf diese hinzugefügten Elemente in Javascript/JQuery?

$('#blah').append('<div id="bugsbunny"></div>'); 

wie kann ich Javascript/jquery mit diesem hinzugefügt Element? Müsste der DOM-Baum neu erstellt werden oder etwas? Ich möchte so etwas tun:

$('#bugsbunny').hide(); 

Wie kann ich das zur Arbeit bringen? Ist die Logik falsch oder gibt es einen anderen Weg, dies zu tun?

Ich habe überlegt, .on oder .live zu verwenden, aber diese Methoden erfordern ein Ereignis wie "klick". Mein Code sieht ungefähr so ​​aus:

$(document).ready(function(){ 
bamboo.addEventListener("load", dothisaction, false); 
}); 

function thisHappensAtAnotherTime() { 
$('#blah').append('<div id="bugsbunny"></div>'); 
} 

function dothisaction(evt) { 
    $('#bugsbunny').hide(); 
} 

Allerdings verschwindet #bugsbunny nicht, weil es angehängt wurde, nachdem die Seite geladen wurde. Was kann ich tun?

Vielen Dank im Voraus!

Bearbeiten: Ich aktualisiert, wie mein Code aussieht.

+1

Haben Sie Ihren Code in $ (Dokument) .ready()? Wenn nein, funktioniert Ihr Code, nur gibt es noch kein #blah-Element –

+1

Sie können das Ereignis DOM Inserted und DOM Removed verwenden ... Immer wenn Sie etwas in DOM hinzufügen, wird dieses Ereignis ausgelöst .. und Sie können entsprechende Maßnahmen ergreifen Funktion .. Hier ist die gleiche Frage und Antwort: http://stackoverflow.com/questions/9699597/good-approch-for-see-if-something-ist-entfernt-von-dem-dom-with-contenteditable –

Antwort

1
$(function(){ 
    var rabbit; 

    function thisHappensAtAnotherTime() { 
     rabbit = $('<div id="bugsbunny" />'); 
     $('#elmer').append(rabbit); 

     //no sure but i think you can do it like: 
     rabbit = $('<div id="bugsbunny" />').appendTo('#elmer'); 
    } 

    function dothisaction(evt) { 
     rabbit.hide(); 
    } 
}); 
+0

Wie kann ich das tun, wenn Kaninchen innerhalb einer anderen Funktion definiert ist? Siehe den Code, den ich in der Frage aktualisiert habe. Vielen Dank! – tundoopani

+0

aktualisierte meine Antwort. nehmen Sie einfach die 'Hasen'-Variable zu einem Bereich, wo beide es sehen können. – Joseph

+0

Danke. Dies scheint zu funktionieren, aber wie kann ich .css() auf Kaninchen verwenden? 'rabbit.css ('width', thisvariablevalue)' scheint nicht zu funktionieren. Komme ich das falsch? Dank – tundoopani

Verwandte Themen