1. JavaScript / Говнокод #9406

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    $(".left_links li ul li.current_menu_item").parent().show();
    	$(".left_links li ul li ul li.current_menu_item").parent().parent().parent().show();
    	$(".left_links li ul li ul li ul li.current_menu_item").parent().parent().parent().parent().parent().show();
    	$(".left_links li ul li ul li ul li.current_menu_item").parent().parent().parent().parent().parent().parent().parent().show();

    Боковое меню с 5 уровней. Чудо задача показать выбранный пользователем пункт этого меню . Глупейший способ js представлен выше.

    Запостил: Doodlez, 13 Февраля 2012

    Комментарии (11) RSS

    • Я считаю, что для решения подобных задач необходимо добавить аргумент в parent() - а то место зря пропадает, и удобно было бы:
      $("гдето").parent().parent().parent().parent();

      стало бы:
      $("гдето").parent(4);

      однако.
      Ответить
      • я считаю что такие задачи нужно выполнять на css.
        Ответить
      • $("гдето").parents("selector") - довольно удобный метод, а далее можно по селектору, методам (например, eq()) и прочему производить действия...
        Ответить
    • Немного поразмыслив: а еще лучше, чтобы так: grandparent(), grandgrandparent(), granduncle(), nephew(), grandson(), grandnephewson() и т.д. Опять же, JQery позволило бы что-то на подобие макросов, типа:
      $(/^(grand)*(parent|son|uncle|nephew|brother)?$/).show();

      А еще лучше, если с модификатором количества:
      $(/^(first|second|third|((four|fif|six|seven|eight|nine|eleven|twelve)th))(grand)*(parent|son|uncle|nephew|brother)?$/).show();
      Ответить
    • jQuery в лоб - знание сss = говнокод, да
      Ответить
    • > .left_links li ul li ul li ul li.
      Да это же Рамштайн) "Links-2-3-4":
      "...Da schlägt es links! Links zwo, links zwo, links zwo, drei vier links! Links!"
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий