Ich verwende eine Funktion einer JavaScript-Anwendung von Drittanbietern, die ich in eine meiner AngularJS-Fabriken einbeziehe. Ein Parameter dieser Funktion ist die ID eines DOM-Elements, da die Funktion dieses Element manipuliert.AngularJS: Element nicht gefunden über getElementById
ThirdPartyApp.doSomething("#elementId").then(function (success) {
}, function (error) {
});
Aber ich bekomme die Fehlermeldung: Unable Element mit der ID zu bekommen ...
Ich nehme an, die App nutzt document.getElementById
, weil ich versuchte, es manuell zu nennen, aber es findet nicht das Element selbst obwohl es nach dem DOM-Explorer des Browsers existiert.
Das Element mit der ID befindet sich in einer HTML-Seite, die ich über ng-include einschließe.
Wie löse ich dieses Problem in meiner AngularJS-Umgebung, da ich die Funktionsweise der Drittanbieter-App nicht ändern kann?
Weitere Informationen
Hier ist die HTML-Seite mit dem Elemente:
<div>
<iframe id='testId' ng-src='{{test}}' style='overflow: hidden;' />
</div>
Hier ist, wie ich diese HTML-Seite einzufügen:
<ng-include src="'/views/shared/test.html'"></ng-include>
Warum document.getElementById("testId")
in den AngularJS Factory findet das Iframe-Element nicht?
Haben Sie versucht, die elementId ohne die '#' übergeben? –
@DanielBerndsons Ja. Gleiches Ergebnis – Palmi
In diesem Fall ist es ohne Wissen, welche Anwendung von Drittanbietern Sie verwenden oder wie Ihr HTML-Code aussieht, unmöglich, nützliche Hilfe zu leisten. –