Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 12.12.2011, 11:53
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

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 ')

Последний раз редактировалось Livanderiaamarum, 12.12.2011 в 11:56.
Ответить с цитированием
  #12 (permalink)  
Старый 12.12.2011, 12:10
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

('#id_content:not(#123)')
Ответить с цитированием
  #13 (permalink)  
Старый 12.12.2011, 12:33
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

ВНИМАНИЕ РЕШЕНИЕ

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 не их классов! Для этого существуют селекторы. это именно то что тебе стоит подучить. именно селекторы и передаются в функцию которую я написал и именно они и выбирают элементы. селекторы очень мощные. можно выбрать например все кроме пятого элемента в дочерних элементах нечетных дивов всех спанов с классом не равным 'блаблабла'

__________________________________________________ ______________________

Последний раз редактировалось Livanderiaamarum, 12.12.2011 в 12:51.
Ответить с цитированием
  #14 (permalink)  
Старый 13.12.2011, 01:53
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

ну вобще для его случая я допустил ошибку, нужно добавить пробел:
("#id_content :not(#123)")
А вообще querySelectorAll может вернуть null если селектор не верны.. а в ИЕ вообще Exception вылетает и скрипт останавливается... Но для простого понимания да, все чудно.
Ответить с цитированием
  #15 (permalink)  
Старый 10.05.2017, 11:06
Новичок на форуме
Отправить личное сообщение для oAlina Посмотреть профиль Найти все сообщения от oAlina
 
Регистрация: 10.05.2017
Сообщений: 1

Скрыть детей
Сообщение от Livanderiaamarum Посмотреть сообщение
ВНИМАНИЕ РЕШЕНИЕ

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 не их классов! Для этого существуют селекторы. это именно то что тебе стоит подучить. именно селекторы и передаются в функцию которую я написал и именно они и выбирают элементы. селекторы очень мощные. можно выбрать например все кроме пятого элемента в дочерних элементах нечетных дивов всех спанов с классом не равным 'блаблабла'

__________________________________________________ ______________________
Помогите, пожалуйста, если надо скрыть именно детей, но не одного дива, а есть 3 дива, надо скрыть всех их детей. Как поменяется код выше?
Ответить с цитированием
  #16 (permalink)  
Старый 10.05.2017, 13:09
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

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>

Последний раз редактировалось Dilettante_Pro, 10.05.2017 в 13:11.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с div И animate g00000dman jQuery 2 24.03.2011 23:34
Вмещается ли содержимое в div kidar2 Общие вопросы Javascript 9 07.02.2011 20:09
animate, всплывающий div box сделать по центру zero_mod jQuery 1 27.10.2010 00:23
меню как на mail.ru - его можно скрыть и содержимое раздвинется на всю страницу ange-linka Элементы интерфейса 4 16.09.2010 12:12
Как убрать выделение в Опере у div, получившего фокус ? spa_2002 Opera, Safari и др. 5 03.09.2009 10:42