|  | 
	| 
	| 
	
	| 
		
	| 
			
			 
			
				26.12.2016, 12:48
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 24.11.2016 
						Сообщений: 11
					 
		
 |  |  
	| 
				Скрыть или показать элементы
			 Всем добрый день. Имеется код типа: 
<!--первый элемент-->
<div>
<a href="#">link-1</a>
<p>text</p>
</div>
<!--второй элемент-->
<div>
<a href="#">link-2</a>
<p>text</p>
</div>
<!--третий элемент-->
<div>
<a href="#">link-3</a>
<p>text</p>
</div>
 
Можно ли реализовать так, чтобы при клике по ссылке отображался параграф этого div`а , а остальные div`ы исчезали? 
 
Спасибо за внимание. |  |  
	| 
		
	| 
			
			 
			
				26.12.2016, 13:03
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| johnon,форум поиск открывашка в ассортименте 300 вариантов того что вы хотите.
 |  |  
	| 
		
	| 
			
			 
			
				26.12.2016, 13:12
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 24.11.2016 
						Сообщений: 11
					 
		
 |  |  
	| Тысячекратно извиняюсь , но не нашел то, чего мне нужно. Только стандартые show/hide. |  |  
	| 
		
	| 
			
			 
			
				26.12.2016, 13:57
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 
	
 
	| Сообщение от johnon |  
	| Только стандартые show/hide. |  
	
 а вам что нужно? |  |  
	| 
		
	| 
			
			 
			
				26.12.2016, 14:05
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| johnon,
  
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   div p {
     display:  none;
   }
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
var div = $('div');
div.on('click', 'a', function(event) {
  event.preventDefault();
var parent = $(this).parent();
$('p',parent).show();
div.not(parent).remove()
})
});
  </script>
</head>
<body>
<!--первый элемент-->
<div>
<a href="#">link-1</a>
<p>text</p>
</div>
<!--второй элемент-->
<div>
<a href="#">link-2</a>
<p>text</p>
</div>
<!--третий элемент-->
<div>
<a href="#">link-3</a>
<p>text</p>
</div>
</body>
</html>
 |  |  
	| 
		
	| 
			
			 
			
				26.12.2016, 14:47
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 27.11.2015 
						Сообщений: 2,899
					 
		
 |  |  
	| рони, может, не так сурово   
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   div p {
     display:  none;
   }
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
var div = $('div');
div.on('click', 'a', function(event) {
  event.preventDefault();
var parent = $(this).parent();
$('p',parent).show();
div.not(parent).find('p').hide()
})
});
  </script>
</head>
<body>
<!--первый элемент-->
<div>
<a href="#">link-1</a>
<p>text</p>
</div>
<!--второй элемент-->
<div>
<a href="#">link-2</a>
<p>text</p>
</div>
<!--третий элемент-->
<div>
<a href="#">link-3</a>
<p>text</p>
</div>
</body>
</html>
Правда, в результате получается
 
	
 
	| Сообщение от johnon |  
	| Только стандартые show/hide. |  
	
  			 Последний раз редактировалось Dilettante_Pro, 26.12.2016 в 14:51.
 |  |  
	| 
		
	| 
			
			 
			
				26.12.2016, 22:38
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 08.03.2016 
						Сообщений: 429
					 
		
 |  |  
	| Пытаюсь переделать на чистый JS, почему при повторном клике, не закрывается? 
<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="style.css">
   <style>
    div p {
     display:  none;
   }
   </style>
  </head>
  <body>
    
       <div>
<a href="#">link-1</a>
<p>text</p>
</div>
<!--второй элемент-->
<div>
<a href="#">link-2</a>
<p>text</p>
</div>
<!--третий элемент-->
<div>
<a href="#">link-3</a>
<p>text</p>
</div>
    
    <script>
      
    var div2 = document.querySelectorAll('div');
    
    for(var i = 0; i < div2.length; i++){
       
        div2[i].addEventListener('click', function(event) {
          event.preventDefault();
          
          if(event.target.nextElementSibling.style.display = 'none'){
             event.target.nextElementSibling.style.display = 'block'
          }
          
          else if(event.target.nextElementSibling.style.display = 'block'){
             div2[i].lastElementChild.style.display = 'none'
          }
        
         
        })
        
        //div2[i].lastElementChild.style.display = 'none'
    }
    
    
  </script>
  </body>
</html>
 |  |  
	| 
		
	| 
			
			 
			
				26.12.2016, 23:00
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| DivMan,
     странный if   |  |  
	| 
		
	| 
			
			 
			
				27.12.2016, 10:21
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 27.11.2015 
						Сообщений: 2,899
					 
		
 |  |  
	| DivMan,
  
	
 
	| Сообщение от DivMan |  
	| почему при повторном клике, не закрывается? |  
	
 а с чего бы закрываться? 
В примерах jquery закрывается p не в кликнутом диве, а во всех остальных.
 
div.not(parent).find('p').hide()
 |  |  
	| 
		
	| 
			
			 
			
				27.12.2016, 10:39
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 24.11.2016 
						Сообщений: 11
					 
		
 |  |  
	| Мне нужно , чтобы остальные из кликнутой ссылки появлялся параграф ,а остальные дивы исчезали. Ну и ссылку на исходный вариант по возможности. |  |  |  |