Вопрос по Jquery
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'

{
Если класс select-li есть, то $(this).removeClass('select-li'


});
есть вариант еще проще
ссылка -тут даже примеры есть, как я понимаю именно для Вас и именно Ваш функционал
292 сообщения
#15 лет назад
ArtPro, да, про toggleclass то и забыл-с..спасибо, попробуюe1it3, в том и дело, что это он видит, а новодобавленный класс - нет. ArtPro прав на счет DOM`а
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