имеем скрипт jquery который выделяет активный пункт меню.


$(document).ready(function() {
var url=location.href; //получаем урл текущей страницы
if (url.split('/')[3]!=0) { // проверяем, есть ли что-то после 3 слеша в урле, если есть - идем дальше
$.each($("a[href*=/"+url.split('/')[3]+"]"), // для каждой ссылки, в которой есть слово после третьего слеша
function(){$(this).addClass('current');}); // добавляем класс
}
});


первый вопрос
как сделать что бы стиль применялся не к a href а к li
второй вопрос.
как сделать что бы пункт подсвечивался если ссылка имеет вид не ЧПУ а href="/members", а например а href="/index.php?do=members", в идеале нужно чтоб ловило и с ЧПУ и без.

@темы: Java

Комментарии
08.12.2010 в 20:25

After silence that which comes nearest to expressing the inexpressible is music.
ты бы html привел. Откуда народ знает где у тебя li. Могу предположить, что
  • a href
  • . Тогда вместо $(this).addClass('current');} -> $(this).parent().addClass('current');}
    08.12.2010 в 20:44

    After silence that which comes nearest to expressing the inexpressible is music.
    Через parent()
    А по поводу чпу, то мб отслеживай знак вопроса в запросе, если нету, значит чпу.
    09.12.2010 в 12:01

    пока не очень разбираюсь в регулярке

    две ссылки которые могут быть

    h t t p://..../members (как со слэшем так и без в конце)
    и
    h t t p://..../index.php?do=members (так же в конце может присутствовать куча передаваемых переменных &pol=&city=)

    как отследить через регулярку и сделать проверку что бы ловило с чпу и без
    09.12.2010 в 12:20

    After silence that which comes nearest to expressing the inexpressible is music.
    Да просто попробуй if(document.location.indexOf('.php?')==-1) {чпу} else {!чпу};
    Это не 100% результат, но если для себя, то вполне годный.
    09.12.2010 в 12:40

    ха а не подойдет вообще этот скрипт похоже.

    он же берет ссылку из a href и сверяет с той которая в адресной строке.


    а если у меня ссылка имеет вид /members и если входящий урл /index.php?do=members то как ни сравнивай скрипт не будет улавливать.

    тут нужно что то другое.. неужели на php писать.. так хотелось jquery