Вопрос по jQuery функция toggle()

интернет программирование JavaScript веб дизайн jQuery

Здравствуйте!

У меня есть скрытые блоки с классом .hide то есть (display:none;). Нужно чтобы при нажатии на checkbox этот класс исчезал и все блоки становились видимыми.

Нашел сам скрипт, но он работает только с первым блоком, а в остальных уже не действует. Как собственно и функция toggle(). Она тоже почему-то взаимодействует только с первым попавшимся блоком, а скрытых блоков несколько.

Как сделать так, чтобы если checkbox is checked то класс .hide убирается, если не checked, то возвращается как было.

<script type=text/javascript>
function showab(){
if (document.getElementById('showall').checked){
//функция которая убирает класс .hide для всех блоков с id="modblock"
}}
</script>


Вот этот скрипт: http://jsfiddle.net/RkQCF/45/
думаю нужно усовершенствовать это http://api.jquery.com/toggle/

Примечание:
Спасибо за подсказки, я решил эту проблему так:

<style>.hide {display:none;}</style>

<script type=text/javascript>
function showall() {
if ($('#sab').attr('checked')) {
$('.hide').show();
}
else {
$('.hide').hide();
}
}
</script>

<input type="checkbox" id="sab" onClick="showall()" />&nbsp;<label class="t" for="sab">{l s='Show all blocks'}</label>

<div class="block hide">Скрытый текст 1</div>
<div class="block hide">Скрытый текст 2</div>
<div class="block">Видимый</div>

Если чекбокс включён, то класс hide становится display:block, а если чекбокс не отмечен, значит этот класс становится display:none. Как-то так...
Ответы:
Самая распространенная ошибка.
id элемента - это уникальное свойство, которое не может повторяться.
т.е. если вы назначаете элементу id, он должен быть уникален.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.