Задать вопрос
@fenucss

Как сделать видимым блок div?

Собственно есть код, который работает:
window.onload=function(){document.querySelector("input").oninput=function(){var elements=document.querySelectorAll("#sampleform div.allDiv");Array.prototype.forEach.call(elements,function(el,i){el.style.display='none';});
if(document.getElementById('textValue').value==1){var div=document.getElementById('div2'); div.style.display='none'; var div=document.getElementById('div1'); div.style.display='block';}
if(document.getElementById('textValue').value==2){var div=document.getElementById('div1'); div.style.display='none'; var div=document.getElementById('div2'); div.style.display='block';}
}}

<input class="inputTypeText" type="text" value="" size=57 name="textValue" id="textValue" placeholder="Введите текстовое значение">
	<div class="allDiv" id="allDiv1">
	<div id="content">
  <div class="allDiv" id="div1">	
  <div class="post inactive"> 
  <div class="title"> 
  <h3>Заголовок блока</h3>  
  </div>
  <div class="entry" style="display:none;">
  <p><a href="#" title="">1</a></p>
  <p><a href="#" title="">2</a></p>
  <p><a href="#" title="">3</a></p>
  </div>  
  </div>
  </div>
 <div class="allDiv" id="div2">  
  <div class="post inactive"> 
  <div class="title"> 
  <h3>Заголовок блока</h3>  
  </div>
  <div class="entry" style="display:none;">
  <p><a href="#" title="">1</a></p>
  <p><a href="#" title="">2</a></p>
  <p><a href="#" title="">3</a></p>
  </div>  
  </div>
  </div>
</div>
</div>

Если таких блоков будет штук 100, то при написании условий скрывать все блоки (display:none;) и выводить какой-то один очень долго. Проблема в том, что не получается скрыть блок allDiv1 и при этом вывести например блок div1 Как решить данную проблему?)
  • Вопрос задан
  • 1528 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
creativeworm
@creativeworm
Используйте jQuery:
$(".allDiv").hide(); // скрыли все
$("#div1").show(); // показали, что нужно по ID


Пример HTML для скриптов выше:
<div>
<div class="allDiv" id="div1">CONTENT</div>
<div class="allDiv" id="div2">CONTENT</div>
<div class="allDiv" id="div3">CONTENT</div>
</div>

следовательно класс allDiv должен быть у всех дивов, а div1 - у нужного. можно использовать this
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы