2013-04-22 4 views
0

У меня есть этот JQuery код:Я не понимаю этого Jquery код

$('#switcher button').click(function (event) { 
    var bodyClass = this.id.split('-')[1]; 
    $('body').removeClass().addClass(bodyClass); 
    $('#switcher button').removeClass('selected'); 
    $(this).addClass('selected'); 
    event.stopPropagation(); 
}); 

То, что я не понимаю, строки:

$('#switcher button').removeClass('selected'); 
$(this).addClass('selected'); 

Я думаю, что они делают то же самое. Потому что «это» для меня - кнопка «#switcher» ... Если я ошибаюсь, кто такой «это ...»?

+0

это относится к текущей кнопке 'button' .. поэтому они удаляют класс со всех' кнопок' под '# switcher' .. и только применяя его к текущей нажатой кнопке –

ответ

3

this относится к конкретной нажатой вами кнопке. Таким образом, первая строка удаляет класс для всех из них, а затем следующий добавляет класс к отдельной нажатой вами кнопке.

0

Вы удаляете класс selected с кнопки, которая находится внутри элемента с идентификатором switcher. Затем класс добавляется обратно к нажатой на данный момент кнопке, которая представлена ​​this

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