Элементарный пример, вопрос от новчика
Здравствуйте! начал изучение 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, время: 18:47. |