Soweit ich weiß, wird document.getElementById ('myId') nur nach HTML-Elementen suchen, die sich bereits im Dokument befinden. Nehmen wir an, ich habe ein neues Element über JS erstellt, aber ich habe es noch nicht an den Dokumentkörper angehängt. Gibt es eine Möglichkeit, auf dieses Element mit seiner ID zuzugreifen, wie ich es normalerweise mit getElementById tun würde?Verwenden Sie getElementById für Elemente, die [noch] nicht im DOM enthalten sind?
var newElement = document.createElement('div');
newElement.id = 'myId';
// Without doing: document.body.appendChild(newElement);
var elmt = document.getElementById('myId'); // won't work
Gibt es einen Workaround dafür? (Ich muss sagen, dass ich keine Bezugnahme auf dieses bestimmte Element speichern möchte, deshalb muss ich darauf über seine Id zugreifen)
Vielen Dank!
Wenn Sie es erstellt haben, nur übergeben Sie das Objekt an andere Funktionen und greifen Sie direkt darauf zu? –
@s_hewitt: Dies gilt nicht für das OP, aber wenn Sie wie ich sind, können Sie es nicht "einfach weitergeben", weil Ihnen der Verweis darauf fehlt. (Sie haben es mit innerHTML oder dem Äquivalent einer Bibliothek erstellt.) In diesem Fall versuchen Sie, eine Referenz zu erhalten, aber getElementById ist nicht hilfreich am falschen Objekt. – Thanatos