Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.04.2014, 14:07
Новичок на форуме
Отправить личное сообщение для rolecs Посмотреть профиль Найти все сообщения от rolecs
 
Регистрация: 10.04.2014
Сообщений: 3

Работа с блоками только внутри родительского блока
Здравствуйте, допустим на странице такая ситуация:

<div class="parent">
<div class="child1"></div>
<div class="child2"></div>
<span class="knopka">Кнопка</span>
</div>

<div class="parent">
<div class="child1"></div>
<div class="child2"></div>
<span class="knopka">Кнопка</span>
</div>

<div class="parent">
<div class="child1"></div>
<div class="child2"></div>
<span class="knopka">Кнопка</span>
</div>


По нажатию на кнопку должны производится какие-то действия с child1 или child2, но они производятся сразу со всеми чайлдами на странице, как заставить скрипт выполнятся только в том блоке, в котором нажали на кнопку, а не со всеми блоками на странице?
Ответить с цитированием
  #2 (permalink)  
Старый 10.04.2014, 14:10
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от rolecs
как заставить скрипт выполнятся только в том блоке, в котором нажали на кнопку, а не со всеми блоками на странице?
Использовать для этого ссылку на родителя

$('.knopka').click(function (){
   $(this.parentNode).find('.child1');
});
Ответить с цитированием
  #3 (permalink)  
Старый 10.04.2014, 14:25
Новичок на форуме
Отправить личное сообщение для rolecs Посмотреть профиль Найти все сообщения от rolecs
 
Регистрация: 10.04.2014
Сообщений: 3

Сообщение от ksa Посмотреть сообщение
Использовать для этого ссылку на родителя

$('.knopka').click(function (){
   $(this.parentNode).find('.child1');
});
А как адаптировать это выражение под этот скрипт?
$(document).on("click",".knopka",function() {
  if ( $(".child1").css("overflow") == "hidden" ) {
$(".child1").css("overflow","visible");
$(".child1").css("height","auto");
} else if ( $(".child1").css("overflow") == "visible" ) {
$(".child1").css("overflow","hidden");
$(".child1").css("height","1");
}
});
Ответить с цитированием
  #4 (permalink)  
Старый 10.04.2014, 14:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от rolecs
А как адаптировать это выражение под этот скрипт?
Простой заменой
Сообщение от rolecs
$(".child1")
на
$(this.parentNode).find('.child1')


Но если взглянуть поглубже...

$(document).on("click",".knopka",function() {
	var o=$(this.parentNode).find('.child1');
	if ( o.css("overflow") == "hidden" ) {
		o.css("overflow","visible");
		o.css("height","auto");
	} else if ( o.css("overflow") == "visible" ) {
		o.css("overflow","hidden");
		o.css("height","1");
	};
});
Ответить с цитированием
  #5 (permalink)  
Старый 10.04.2014, 15:00
Новичок на форуме
Отправить личное сообщение для rolecs Посмотреть профиль Найти все сообщения от rolecs
 
Регистрация: 10.04.2014
Сообщений: 3

Сообщение от ksa Посмотреть сообщение
Простой заменой

на
$(this.parentNode).find('.child1')


Но если взглянуть поглубже...

$(document).on("click",".knopka",function() {
	var o=$(this.parentNode).find('.child1');
	if ( o.css("overflow") == "hidden" ) {
		o.css("overflow","visible");
		o.css("height","auto");
	} else if ( o.css("overflow") == "visible" ) {
		o.css("overflow","hidden");
		o.css("height","1");
	};
});
Спасибо, работает!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
htmlparser2. Надо выдернуть только тест внутри тега. singaporian Общие вопросы Javascript 3 08.08.2013 21:31
Движение фотографии внутри блока Evgeniya Events/DOM/Window 1 25.02.2013 21:32
Изменить стиль внутри элемента с определнным id, только для браузера ie8 ansi_str Общие вопросы Javascript 4 03.05.2012 14:11
Запереть скрипт внутри блока Vineg Events/DOM/Window 2 25.01.2011 03:16
Как применить css ко всем элементам внутри блока MaxB jQuery 12 28.05.2010 07:56