У меня проблемы с некоторыми JS в IE7. Я тестирую, чтобы определить, назначен ли определенному объекту className (возможно, это объект HTMLElement из DOM).
Теперь, тестирование страницы в Firefox говорит мне, что да, переменная не определена (все мои тесты ниже делают Alert ().
В IE ни один из тестов не пройден, переменная присваивается в последнем операторе IF, и во время последнего Alert () IE проверяет ошибку «className is null or not object», основываясь на операторе fn_note.className
.
Вот код:
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);
Пожалуйста, дайте мне знать, что я делаю неправильно. Я знаю, что это, наверное, что-то базовое, но я просто не вижу его в банкомате.
Заранее спасибо.