Как стать автором
Обновить

Комментарии 16

А вот первого плагина мне оччччень нехватало :)
Кстати, не знал, что outline-style: none не работает в ие6, буду юзать ваш метод.
Спасибо за потраченное время :)
НЛО прилетело и опубликовало эту надпись здесь
Дописал еще минус css решения: перемещаясь по ссылкам tab'ом на клавиатуре — никак не отмечается, что она является текущей в «клавиатурном перемещении»
НЛО прилетело и опубликовало эту надпись здесь
Просмотрите всю статью полностью, там всё описано.
НЛО прилетело и опубликовало эту надпись здесь
Бывают клиенты, которым «позарез» надо чтобы не было этих «точечек». Поэтому, решение стилями как вариант.
Но здесь существенный минус — необходимость расстановки тэгов em внутри a. На CMS без поддержки XSL… сомнительная страсть к извращениям.

Но как вариант оно хорошо.
parents() и closest() требуют конкретики в селекторах — они двигаются от текущего/более выше стоящего по DOM-структуре элемента вверх и никак иначе.

Хм…

У меня вверх по структуре у td, tr элементов нет селекторов, на которых я мог бы остановиться и искать в них нужный мне дочерний.

Попробовал… вообще, это выглядело бы как-то так:

$(this).closest(«tr»).next().find(«a.left-menu-pic»).css(«background-position», «0 -59px»);

Но по мне так хуже, и очень-очень не универсально. Плюс не каждый код можно на closest переписать так просто, где-то потребуются все те же parent().parent().parent() (многоуровневый список с одинаковыми атрибутами class у элементов), и мы приходим к нашей проблеме.
На мой взгляд тоже parents удобнее и надежнее, чем parentn. А closest тем более.
Нашел конструкцию с parents, которая бы заменила parentn(n):

$(this).parents(':eq(n-1)');

Но это теперь уже вопрос синтаксиса и читаемости кода другим человеком :)

$(this).parentn(3) против $(this).parents(':eq(2)');
Ну уж лучше пользоваться траверсингом по DOM «из коробки», чем цеплять отдельный плагин, пусть и крошечный.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории