Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скрытие всех элементов (https://javascript.ru/forum/dom-window/3280-skrytie-vsekh-ehlementov.html)

rkit 03.04.2009 06:13

Скрытие всех элементов
 
Здравствуйте, скажите пожалуйста, можно ли на javascript
скрыть все элементы, ID`ы, которых, начинаются к примеру на show_

Допустим:

<div id="show_1">...</div>
<div id="show_2">...</div>
<div id="show_3">...</div>
<div id="show_4">...</div>
<div id="show_5">...</div>
<div id="show_6">...</div>

Kolyaj 03.04.2009 08:44

Им можно присвоить класс
<div class="block">...</div>
<div class="block">...</div>
<div class="block">...</div>
<div class="block">...</div>
<div class="block">...</div>

В стилях написать
Код:

.hideblock .block {
    display: none;
}

Теперь, чтобы скрыть все блоки, нужно указать какому-нибудь родительскому элементу, например, body класс hideblock.
document.body.className = 'hideblock';


Это самое оптимальное решение.

rkit 03.04.2009 10:59

А если надо при это оставить один из них видимым?
Допустим скрыть все кроме show_4

Kolyaj 03.04.2009 11:04

Это уже совсем другой вопрос. И будет лучше, если вы все последующие тоже сразу изложите. Зря писать не больно охота.

В любом случае тупой метод в лоб вам поможет: перебрать в цикле все элементы и скрыть нужные.

rkit 03.04.2009 11:44

Пардон что сразу не сказал.

Перебрать в цикле - это понятно...
Просто думал может другой способ есть.
В любом случаи спасибо за ответы.

Kolyaj 03.04.2009 11:46

Цитата:

Сообщение от rkit
Просто думал может другой способ есть.

Всегда есть. Но вы же не говорите, что вам надо, поэтому способов не узнаете.

rkit 03.04.2009 12:02

Мне нужно скрыть все элементы, id`ы которых начинаются на show_, но при этом, оставить один из них видимым (допустим show_4)

Есессно разное кол-во элементов всегда.

Gvozd 03.04.2009 12:34

перебором
почитайте эту тему

rkit 03.04.2009 12:47

Спасибо. Буду разбираться.

PAULUS 05.04.2009 00:47

А как быть с нерегулярными ID ?
 
Как поступить, если ID всех скрытых (да и видимых) div`ов имеет текстовые, понятные смысловые названия (ford, fiat, more, ogurets). Причем имена невидимых ID отличаются от предшествующих им лишь нижним прочерком,
т.е. видимая
<a id='ogurets'...onclick=expand('_ogurets')>, невидимая соответственно
div id='_ogurets'.
Открывается функцией, в которой при onclick поочередно меняется document.getElementById(termin).style.display = 'block' и 'none'
Это сделано для навигации внутри докумнета, а также при открывании ссылки в новом окне (используется hash), при этом в новом окне переходим на соответствующую метку и раскрываем следующий за ней блок, т.к. ID этого блока образуется путем прибавления нижнего прочерка к hash.
Вопрос вот какой: как сделать, чтобы при onclick на странице развернуть/свернуть все ID, начинающиеся с нижнего прочерка?


Часовой пояс GMT +3, время: 18:09.