IE8 appendChild "Unerwarteter Aufruf der Methode oder Eigenschaft zugreifen"
Ich brauche wirklich etwas Hilfe mit diesem Problem, das ich habe. Nur scheinen zu haben auf IE8. IE7 funktioniert einwandfrei, das ist seltsam. Ich bin mit IE9 (F2), Entwicklungs-tool, IE8 emulator, die scheint zu funktionieren gut. Ich habe auch überprüft, die auf VMware native IE8 und immer die gleichen Ergebnisse. Jedenfalls ist das ein Problem mit appendChild in IE8? Wie kann ich lösen dieses Problem und gibt es eine jquery oder bessere Möglichkeit, die Codierung in diesem Abschnitt.
IE Bericht dies als Problem ** en.appendChild(document.createTextNode(jcode)); ** "Unexpeced Aufruf der Methode oder Eigenschaft zugreifen"
for (var i=0; i<showContain.length+1; i++)
{
var s = document.createElement('script');
s.setAttribute('type','text/javascript');
var jcode = "$('#showdiv" + i + "').mouseover(function(){$('.showcaseoff').hide(); $('#showcase" + i + "').show()});";
s.appendChild(document.createTextNode(jcode));
document.body.appendChild(s);
}
Dank...
- Es ist ein bekannter bug: webbugtrack.blogspot.ro/2009/01/...
- Warum in der Welt sind, die Sie Anhängen Skript um ein Skript-tag! Den code ausführt!!! Huch. Ich bin froh, dass es ein Fehler ist, denn das ist eine schlechte Idee.
- Kann nicht helfen, zu denken, dies scheint wie eine Menge unnötige Arbeit, die zum ausführen einer Anweisung mit einer bestimmten variable/Wert. Haben Sie als mit einem Verschluss zu halten, wird jeder Wert für
i
trennen? - Hey, ich bin eine Art code-Reinigung, für jemand anderen, alten code und ja es ist voll unter meiner Platte, leider 🙂 Auch hier bin ich für die Lösung nicht Kritik (epascarello) Trotzdem, Wie kann ich das neu anordnen dies funktioniert?
- Sergiu Paraschiv gute info, aber wie würde ich script-tag statt styleTag und muss ich das script-tag. Kann das getan werden, einfach in Jquery?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies scheint einfach zu sein eine Einschränkung in einigen Versionen des IE. Aber, Sie scheinen offen für alternativen:
Ich vermute, das snippet kam aus frustration, dass
i
zu ändern schien Wert für die.show()
gegen Ende. Das wäre aufgrund JavaScript die aktuelle fehlen von block-level-scoping und mischen in der asynchronen Natur von.mouseover()
, so würde es Referenzi
nachdem die Schleife bereits Durchlaufen und erhöht es umshowContain.length+1
.Schließlich, Sie werden in der Lage sein zu verwenden
lassen
stattvar
erstellen Sie einen block-Ebenei
innerhalb der Schleife (das Schlüsselwort ist Teil des kommenden ECMAScript-6-standard). Aber Sie können derzeit eine Verschluss zu isolieren, jeder Werti
im eigenenfunction
Umfang.