Технический форум

Технический форум (http://www.tehnari.ru/)
-   Изготовление сайтов (http://www.tehnari.ru/f129/)
-   -   Nth-child(2n+2) на jQuery не работает (http://www.tehnari.ru/f129/t263675/)

imported_Русланн 03.04.2019 08:52

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".

imported_Русланн 04.04.2019 20:28

Ребята, короче я разобрался:
селектор 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


Часовой пояс GMT +4, время: 10:00.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.