Вам не хватает интересного бита (откуда взято b
), поэтому я просто догадываюсь: иногда b
на самом деле не число от 1 до 5 включительно. Может быть, это строка, которая не форматируется чисто в однозначное число 1-5, или, может быть, это что-то совсем другое ... Давайте сделаем ваш код немного безопаснее, на всякий случай, если я прав:
// b gets value from xml file
// ensure b is a number - will fail comparison if NaN
b = new Number(b);
while (b <= 5)
{
var rowName = "sRow" + b;
var row = document.getElementById(rowName);
if ( row ) // verify element was found before trying to modify it!
row.style.display = "none";
b++;
}
Обратите внимание, что я удалил try {} catch
- вам лучше просто проверить возвращаемое значение getElementById()
, так как это не помешает отладке, если вы захотите использовать отладчик позже ...