установка и сброс классов
Доброго времени суток.
Вопрос, пожалуй, детский: есть много-много элементов div. По щелчку на элементе его стиль меняется. Нужно чтобы по щелчку по другому div с предыдущего стиль снимался. Ну, другими словами надо уникально, визуально выделять текущий див(по которому щелкнул пользователь. Делал с помощью .each снимая стили со всех, потом устанавливая. Но думаю это самый плохой способ какой можно придумать. Сейчас так:
$(document).ready(function() {
var $obj;
$('div').click(function() {
$obj.toggleClass('selectedcell');
$obj = $(this);
$obj.toggleClass('selectedcell');
});
});
не работает, наверно, потому что изначально не инициализирована переменная obj, что вызывает ошибку... В общем, прошу помощи. |
<script>
$(document).ready(function() {
$('.allDivs').click(function() {
$('.allDivs').removeClass('active');
$(this).addClass('active');
});
});
</script>
Тут всем дивам нужно дать класс allDivs |
Faab,
Спасибо за быстрый ответ. Ну, в общем то это подходит. Мало практики, наверно, поэтому сам не догадался. Но, вот для практики интересует вопрос, приближенный к изначальной постановке задачи: в пределах onclick можно ли как-нибудь сохранить манипулируемый объект, а при след. нажатии вернуть ему исходное состояние. Т.е. ему одному? Еще раз спасибо за ответ. |
Rise,
хм, не подскажите где можно почитать о передаче параметров в функцию click, желательно, на русском? В описании на jquery-docs обработчик принимает только одно значение - функцию. Не могу понять в приведенном примере передачу карты... Может будущим поколениям, что читать это будут пригодится: в код, приведенный мной в первом посте:
$(document).ready(function() {
var $obj;
$('div').click(function() {
$obj.toggleClass('selectedcell');
$obj = $(this);
$obj.toggleClass('selectedcell');
});
$obj=$('div:first');
$obj.toggleClass('selectedcell');
});
Костыль, конечно, но работает :-D |
| Часовой пояс GMT +3, время: 10:26. |