function hide(){ document.querySelectorAll('#id_content кроме #123 ').className += " hidden" //добавляем класс скрытия } function show (){ document.querySelectorAll('#id_content кроме #123 ').className.replace(/\hidden\b/, ' '); //удаляем класс скрытия } тока селектор нормальный допишите, это уже с javascript не связано и я в этом на шарю)) по моему там что-то вроде ('#id_content not: #123 ') |
('#id_content:not(#123)') |
ВНИМАНИЕ РЕШЕНИЕ
function hiide(_selector){ var q = document.querySelectorAll(_selector) for(var i = 0; i < q.length; i++){ q[i].style.display = 'none' } } function shoow (_selector){ var q = document.querySelectorAll(_selector) for(var i = 0; i < q.length; i++){ q[i].style.display = '' } } hide ("#id_content:not(#123)") // скрывает show ("#id_content:not(#123)") // показывает И ОТВЕТ НА ВОПРОС да к любым элементам можно подбираться не зная не их id не их классов! Для этого существуют селекторы. это именно то что тебе стоит подучить. именно селекторы и передаются в функцию которую я написал и именно они и выбирают элементы. селекторы очень мощные. можно выбрать например все кроме пятого элемента в дочерних элементах нечетных дивов всех спанов с классом не равным 'блаблабла' __________________________________________________ ______________________ |
ну вобще для его случая я допустил ошибку, нужно добавить пробел:
("#id_content :not(#123)")А вообще querySelectorAll может вернуть null если селектор не верны.. а в ИЕ вообще Exception вылетает и скрипт останавливается... Но для простого понимания да, все чудно. |
Скрыть детей
Цитата:
|
oAlina
Для скольких дивов вызовете функцию, столько и спрячете <div id='parent1'> <div>Child 1-1</div> <div>Child 1-2</div> <span>hkhkhkh</span> </div> <div id='parent2'> <div>Child 2-1</div> <div>Child 2-2</div> <input type='text' value= 'lalala'> </div> <div id='parent3'> <div>Child 3-1</div> <div>Child 3-2</div> </div> <script> function hideChilds(parentNode) { var childs = parentNode.childNodes; for(var i = 0; i < childs.length; i++) { if(childs[i] != '[object Text]') childs[i].style.display = 'none'; } } hideChilds(document.querySelector('#parent1')); hideChilds(document.querySelector('#parent2')); </script> |
Часовой пояс GMT +3, время: 11:34. |