• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Nth-child(2n+2) на jQuery не работает

Регистрация
21 Июн 2011
Сообщения
72
Реакции
0
Баллы
0
Nth-child(2n+2) на jQuery не работает

Ребята, здорово! Почему то не работает селектор элементов списка nth-child(2n+2) в j Query.
HTML -код:
HTML:
<div class="wrapper">
   <div class="header">
      <nav>
        <ul id="main_nav">
          <li><a href="#About1"> About 1</a></li>
          <li><a href="#About2"> About 2</a></li>
          <li><a href="#About3"> About 3</a></li>
          <li><a href="#About4"> About 4</a></li>
        </ul>  
      </nav>
   </div>
</div>

Вот код j Query:
$(document).ready(function(){
$('ul li a:nth-child(2n+2)').css('text-decoration', 'none');
});

Если выбрать нечетные элементы 'ul li a:nth-child(2n+1), то подчеркивание убирается на всех элементах.

Это просто пример: у автора видео он работает без проблем, а у меня нет, хотя мы используем одинаковые HTML-редакторы "brackets".
 
Последнее редактирование:
Ребята, короче я разобрался:
селектор jQuery вида $("ul li a:nth-child(2n)").css("text-decoration","none"); работает с "детьми"-ссылками для каждого из элементов <li> списка <ul>, т.е. например селектор для четных элементов:

$(document).ready(function(){
$("ul li a:nth-child(2n+2)").css("text-decoration","none");
});

-для:

HTML:
<ul id="main_nav">
                        <li>
                            <a href="#home">Home</a>
                            <a href="#home1">Home1</a>
                            <a href="#home2">Home2</a>
                            <a href="#home3">Home3</a>
                            <a href="#home2">Home4</a>
                            <a href="#home3">Home5</a>                           
                        </li>
                        <li>
                            <a href="#about">About</a>
                            <a href="#bout1">About1</a>
                            <a href="#about2">About2</a>
                            <a href="#about4">About4</a
                        </li>
                    </ul>

- даст результат:

  • Home1 Home2 Home3 Home4 Home5

  • About About1 About2 About4


А чтобы "nth-child(2n)" работал c <li>-"детьми" списка <ul>, нужно селектор ссылок обозначить через класс, например:

HTML:
<div class="wrapper">
   <div class="header">
      <nav>
        <ul id="main_nav">
          <li><a class="link" href="#About1"> About 1</a></li>
          <li><a class="link" href="#About2"> About 2</a></li>
          <li><a class="link" href="#About3"> About 3</a></li>
          <li><a class="link" href="#About4"> About 4</a></li>
        </ul>  
      </nav>
   </div>
</div>

-jQuery код:
$(document).ready(function(){
$("ul li:nth-child(2n+2) a.class").css("text-decoration","none");
});

- даст результат:

  • About1

  • About2

  • About3

  • About4
 
Назад
Сверху