Ich habe Probleme mit einigen JS in IE7. Ich prüfe, ob ein bestimmtes Objekt einen className (möglicherweise ein HTMLElement-Objekt aus dem DOM) zugewiesen hat.Internet Explorer 7 - Javascript 'undefined' nicht testen
Nun testen Sie die Seite in Firefox mir sagt, dass Ja, die Variable nicht definiert ist (alle meine Tests unten tun, um die Alert().
In IE keiner der Tests bestehen, wird die Variable auf die zugewiesene IF-Anweisung zuletzt, und während der letzten Alert() IE Futter eine „classname ist null oder kein Objekt“ Fehler, auf der Grundlage der fn_note.className
Aussage
Hier ist der Code:.
var fn_note;
var kids = area.childNodes;
for (var l = 0; l < kids.length; l++){
//DEBUG check if the found var exists
if (kids[l].className == null){
//then the className var doens't exist
alert ('the classsname for the following var is null: --'+kids[l]+'--');
}
if (kids[l].className == undefined){
//then the className var doens't exist
alert ('the classsname for the following var is undefined: --'+kids[l]+'--');
}
if (kids[l].className == ''){
//then the className var doens't exist
alert ('the classsname for the following var is an empty string: --'+kids[l]+'--');
}
if (typeof kids[l].className === 'undefined'){
//then the className var doens't exist
alert ('the classsname for the following var is NEW TYPEOF TEST: --'+kids[l]+'--');
}
if (kids[l].className == 'fn-note') { /* (/fn-note$/).test(kids[l].className) IE doesn't really like regex. por supuesto */
//we have found the div we want to hide
fn_note = kids[l];
}
}
alert('the clicked on className is '+area.className+'name of the found div is '+fn_note.className);
Bitte lassen Sie mich wissen was ich falsch mache, ich kenne es wahrscheinlich einige Ding einfach, aber ich kann es einfach nicht ATM sehen.
Vielen Dank im Voraus.
Nur auf IE7 getestet: http://jsbin.com/azoya/ Meldet eine leere Zeichenfolge. – strager
testete es auch hier, leere Zeichenfolge als auch – eglasius