вам нужно такое, я так понимаю
pre_elem=document.getElementsByTagName('*');//замените * на конкретные теги, если они одинаковы.если нет, то остваьте как есть j=0; for(i=0;i<pre_elem.length;i++){ if(pre_elem[i].id[0]=='_'){ elem[j++]=pre_elem[i]; } } elem;//все элементы, чей ID начинается с '_' |
Цитата:
|
Большое спасибо, Gvozd.
To x-yuri: Не пробовал конечно, бесспорно удобно, тем более у меня в каждом раскр блоке помимо разных ID еще одинкаовый class стоИт. Просто есть небольшое опасение в корректности мультибраузерной работы, и в частности, чтобы class всегда переплевывал ID(когда некоторые ID уже развернуты). Но наверное этот вариант тоже должен подойти, на досуге попробую. Спасибо. |
Цитата:
Цитата:
|
Рапортую:
Способ document.body.className = 'hideblock'; в моем случае не подошел из-за сложности громоздкости наслоения вариантов сочетаний значений body class и локальных ID div-элементов (появилась необходимость при изменении body class одновременно менять значение ID div-элементов, в ином случае требовались повторные нажатия при открыть/скрыть конкретный div, т.е. в любом случае потребовался способ, предложенный Gvozd). Предложенный Gvozd способ в первоначальном виде работал в Opera и Firefox, но не работал в IE, поэтому потребовалось if(pre_elem[k].id[0]=='_') заменить на if(pre_elem[k].id.charAt(0) =='_') Сейчас работающий код выглядит так: var SHOF_key='none'; function SHOF(){ pre_elem=document.getElementsByTagName('div'); if (SHOF_key != 'block') SHOF_key = 'block'; else SHOF_key = 'none'; for(k=0;k<pre_elem.length;k++){ if(pre_elem[k].id.charAt(0) =='_'){ document.getElementById(pre_elem[k].id).style.display = SHOF_key; }}} Большое спасибо Gvozd и всем участвующим. |
Часовой пояс GMT +3, время: 03:47. |