2014-11-22 4 views
-2

Я занимаюсь тренировочным упражнением на codecademy, который называется - Интерактивный веб-сайт: нажмите меню. Что-то я не понимаю о селекторах jquery. В приведенном ниже примере сыворотка делает элемент html - «меню» должен иметь значение «.». для его выбора в jquery и для элемента html «body» не нужен «.»?как работают селекторы jquery

var main = function() { 
    /* Push the body and the nav over by 285px over */ 
    $('.icon-menu').click(function() { 
    $('.menu').animate({ 
     left: "0px" 
    }, 200); 

    $('body').animate({ 
     left: "285px" 
    }, 200); 
    }); 

    /* Then push them back */ 
    $('.icon-close').click(function() { 
    $('.menu').animate({ 
     left: "-285px" 
    }, 200); 

    $('body').animate({ 
     left: "0px" 
    }, 200); 
    }); 
}; 


$(document).ready(main); 
+3

попробуйте прочитать секцию селекторов jQuery API – charlietfl

+0

В большинстве случаев они «работают» точно так же, как и селектора CSS (используя, где доступно, ['document.querySelectorAll()'] (https: //developer.mozilla .org/ru/docs/Web/API/Document.querySelectorAll)), читайте: http://www.w3.org/TR/selectors/#selectors –

ответ

1

Период "." предназначен для класса CSS.

Таким образом, вы, вероятно, что-то подобное в вашем HTML

<div class="menu"> 

</div> 

Body является HTML тегов, и поэтому вы можете просто целевым теги, такие как тело, или HTML, или h3, и т.д ..

1

Это связано с тем, что типы идентификаторов используются для выбора вещей.

«body» - это тег, а теги являются объектом первого класса, поэтому дополнительный синтаксис не требуется. «menu» - это класс по тегу, а классы имеют префикс «.». - отсюда ".menu".

Другим важным и распространенным типом является идентификатор, который часто является уникальным на странице и имеет префикс #.

Этот синтаксис делится между jquery и css.

Смежные вопросы