2010-02-26 2 views
1

Почему этот скрипт выдает (IE) или палку (FF) в первой ячейке таблицы, содержащей текст, который он находит?Ошибка JavaScript-таблицы трассировки

<!html> 
<head> 
<script type="text/javascript"> 
function CheckChildren(obj) 
{ 
     alert(obj.id + ' ' + obj.tagName + ' ' + obj.childNodes.length); 
     for (i = 0; i < obj.childNodes.length; i++) 
     { 
       CheckChildren(obj.childNodes[i]); 
     } 
     alert(obj.id); 
     return false; 
} 
</script> 
</head> 
<body> 

<table id="table"> 
<tr id="a"><td id="b">b</td><td id="c">c</td></tr> 
<tr id="d"><td id="e">e</td><td id="f">f</td></tr> 
</table> 
<input type="button" onclick="CheckChildren(document.getElementById('table'))" value="click"> 
</body> 
</html> 
+0

я начал использовать следующий вместо: для (я = 0; я

ответ

3

Попробуйте положить слово «var» перед «i» в ваш цикл for.

for (var i = 0; i < obj.childNodes.length; i++) 

Без этого, ваш код обращается к глобальной переменной «я», так что каждый рекурсивный итерации устанавливает его обратно к нулю.

+0

О, спасибо! Я знал, что это должно быть что-то очевидное. –

 Смежные вопросы

  • Нет связанных вопросов^_^