Ich habe Probleme mit einigen JS im IE7. Ich teste, um zu sehen, wenn ein bestimmtes Objekt einen className (seine möglicherweise ein HTMLElement-Objekt aus dem DOM) zugewiesen hat.
Nun, Testen der Seite in Firefox sagt mir, dass Ja, die Variable undefiniert ist (alle meine Tests unten tun die Alert().
Im IE wird keiner der Tests bestanden, die Variable wird in der letzten IF-Anweisung zugewiesen, und während der letzten Alert() wirft der IE einen "className is null or not an object"-Fehler ein, der auf der fn_note.className
Erklärung.
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 weiß, es ist wahrscheinlich etwas Grundlegendes, aber ich kann es einfach nicht sehen ATM.
Vielen Dank im Voraus.