Показать сообщение отдельно
  #3 (permalink)  
Старый 29.01.2010, 13:43
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

function hideMeFromMenu()
{
    if (window.nav) { // если у объекта window (главный объект, в него попадают все глобальные переменные) есть свойство nav
        var elements = geTN((nav[0]?nav[0]:nav),"a"); /* вызываем ф-ию geTN, передаем ей аргументом первый элемент массива nav, если nav — массив. Иначе передаем саму nav */
        var space; // объявление переменной space без присвоения значения
        for (i=0;i<=elements.length-1;i++) { /*арифметический цикл. начальное значение переменной-счетчика 0, конечное — количество элементов -1. После каждой итерации значение счетчика будет увеличено на 1.*/
            space = elements[i].innerHTML.indexOf(" "); // в space записываем позицию первого вхождения пробела в содержание i-того элемента
            if (space>-1 && space<4 && i>1) elements[i].innerHTML = elements[i].innerHTML.substring(space); // если пробел содержится в строке и его позиция меньше 4 и это не первые 2 тега, то вырезаем из строки все, что находится до 1 пробела
        }
    }
}

function geTN(parent,name){ /*функция возвращает все элементы определенного тега name, находящиеся внутри тега parent*/
	if(!parent)return null;
	return parent.getElementsByTagName(name);	
}


Написано кривовато. У цикла, как минимум, 2 лишние итерации, условие проще было задать как i<elements.length, счетчик цикла становится глобальной переменной.
Ответить с цитированием