Элементарный пример, вопрос от новчика
Здравствуйте! начал изучение java script и естественно куча вопросов и ничего не понятно) но так пошло что лучше всего языки усваиваются на примерах, поэтому прошу помочь мне разобраться в одном простом примере:
function hideMeFromMenu() { if (window.nav) { это если окно nav тоеть навигации я так понимаю? только как он так определяет? var elements = geTN((nav[0]?nav[0]:nav),"a"); эта строчка мне вообще не понятна(( поясните плз var space; объявляем переменную спейс for (i=0;i<=elements.length-1;i++) { цикл пошел, i присваиваем 0, и если i тоесть пока 0 меньше или равно длинне символом того непонятного параметра -1; то i становится +1 space = elements[i].innerHTML.indexOf(" "); спейс задаем через иннерхтмл я так пониаю это какая то глобальная функция в яве для изменения страницы дома или типа того, задаем ей пробел тоесть ничего? if (space>-1 && space<4 && i>1) elements[i].innerHTML = elements[i].innerHTML.substring(space); и если спейс больше -1 и меньше 4 тоесть это как раз получается МОИ я так понимаю и i > 1 то вауля заменяем мои на пробел, так? } } } этот скрипт убирает на сайте вконтакте "Мои" из меню слева, так вот я хочу сделать не что подобное только, чтобы из личных сообщений удалитьк кнопки "Это спам" но у меня ничего не выходит, мне кажется что это не очень трудно для знатаков, но для меня невозможно, если не трудно подскажите как, я быстро врублюсь и выучусь) function geTN(parent,name){ if(!parent)return null; return parent.getElementsByTagName(name); это я так понимаю какойто aliase сокрашение для частого приминения? } |
function hide() { // Получаем элемент ol, в котором размещены ссылки. У него id="nav" var nav = document.getElementById("nav"); // Выбираем из него все ссылки var links = nav.getElementsByTagName("a"); // Проходимся по массиву ссылок for(var i=0; i< links.length; i++) { // Удаляем в каждой ссылке строчку "Мои " links[i].innerHTML = links[i].innerHTML.replace("Мои ", ""); } } |
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, счетчик цикла становится глобальной переменной. |
Цитата:
|
Часовой пояс GMT +3, время: 07:45. |