Олег Б.
292 сообщения
#15 лет назад
Привет всем.
Есть такой код:

$('.words-list li').click(function()
{
$(this).addClass('select-li');
});
$('.select-li').click(function()
{
$(this).removeClass('select-li');
});

Т.е. при клике по элементу li из списка ему присваевается некий класс (просто меняется фон). Далее нужно, что бы после второго клика этот класс убирался. Первая часть кода работает правильно, но вот вторая - никак не хочет. Фаербаг ни на что не ругается, но как я понял, jQuery просто не хочет найти селектор "select-li"..
Может я правда что-то не верно сделал, подскажите, люди добрые
Евгений Б.
5330 сообщений
#15 лет назад
Она не работает, так как Dom уже построен при загрузке. надо или обновлять (не дай бог так делать) или просто....

сделайте обработку для

$('.words-list li'.click(function()
{
Если класс select-li есть, то $(this).removeClass('select-li';, а если нету, то $(this).addClass('select-li';
});


есть вариант еще проще
-тут даже примеры есть, как я понимаю именно для Вас и именно Ваш функционал
Николай Т.
205 сообщений
#15 лет назад
Во второй части пробни селектор .words-list li
Олег Б.
292 сообщения
#15 лет назад
ArtPro, да, про toggleclass то и забыл-с..спасибо, попробую
e1it3, в том и дело, что это он видит, а новодобавленный класс - нет. ArtPro прав на счет DOM`а
Олег Б.
292 сообщения
#15 лет назад
Да, toggle помогло, всем спасибо, топик клозед.
Роман В.
99 сообщений
#15 лет назад
$('.words-list li').click(function(){
$(this).toggleClass('select-li');
});


эм.. не успел
Дмитрий Засядько
87 сообщений
#15 лет назад
Код после загрузки DOM назначает обработчики на клик всему что нашёл, тем элементам, которым класс select-li присваивается после загрузки, обработчики назначены не будут. Можно сделать как уже писали выше .toggleClass, ну а если требуются какие то другие действия кроме включения-выключения класса, то использовать .toggle(fn1, fn2).
Роман В.
99 сообщений
#15 лет назад
ArtPro, segoddnja, в jQ с версии 1.3 есть метод live. Добавляет обработчик события для существующих и будущих элементов. чтоб отвязать - die
Евгений Б.
5330 сообщений
#15 лет назад
Цитата ("r0b1n"):
ArtPro, segoddnja, в jQ с версии 1.3 есть метод live. Добавляет обработчик события для существующих и будущих элементов. чтоб отвязать - die

есть, про него все помнят, но в данном случае годиться самокат, а авто, останется в гараже