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, время: 04:43. |