Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.05.2013, 15:15
Аспирант
Отправить личное сообщение для titans Посмотреть профиль Найти все сообщения от titans
 
Регистрация: 18.03.2012
Сообщений: 39

Как отделить улик родителя от дочернего
Всем привет. У меня есть HTML
<div class="MainM">Main1
	<div class="Sub">Sub1</div>
	<div class="Sub">Sub2
		<div class="Sub_Sub">Sub_Sub1</div>
		<div class="Sub_Sub">Sub_Sub2</div>
	</div>
</div>


И сам скрипт:
jQuery(document).ready(function() {
		  jQuery(".Sub").hide();
		  jQuery(".Sub_Sub").hide();
		  
		  jQuery(".MainM").click(function()
		  {
			jQuery(this).children(".Sub").slideToggle(500);
		  });
		  jQuery(".Sub").click(function()
		  {
			jQuery(this).children(".Sub_Sub1").slideToggle(500);
		  });
		});

Все работает, кроме того, что если кликнуть по Sub, что бы его открыть, то срабатывает родитель, и свой div закрывает. В общем как сделать, что бы при клике по Sub открывался Sub_Sub1?
Ответить с цитированием
  #2 (permalink)  
Старый 16.05.2013, 16:36
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

e.stopPropagation() остановит всплытие клика. Так что до .MainM клик не дойдет. Объект е приходит аргументом в функцию-обработчик.
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2013, 16:36
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Как вариант...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
jQuery(document).ready(function() {
	jQuery(".Sub").hide();
	jQuery(".Sub_Sub").hide();
	jQuery(".MainM > span").click(function(){
		jQuery(this.parentNode).children(".Sub").slideToggle(500);
	});
	jQuery(".Sub").click(function(){
		jQuery(this).children(".Sub_Sub").slideToggle(500);
	});
});
</script>
</head>
<body>
<div class="MainM"><span>Main1</span>
	<div class="Sub">Sub1</div>
	<div class="Sub">Sub2
		<div class="Sub_Sub">Sub_Sub1</div>
		<div class="Sub_Sub">Sub_Sub2</div>
	</div>
</div>
</body>
</html>


Но твой ХТМЛ - фигня какая-то...
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2013, 16:44
Аспирант
Отправить личное сообщение для titans Посмотреть профиль Найти все сообщения от titans
 
Регистрация: 18.03.2012
Сообщений: 39

ну хорошо. Давайте по другому.
<div class="MainM">Main1</div>
	<div class="Sub">Sub1</div>
	<div class="Sub">Sub2</div>
		<div class="Sub_Sub">Sub_Sub1</div>
		<div class="Sub_Sub">Sub_Sub2</div>


jQuery(document).ready(function() {
		  jQuery(".Sub").hide();
		  jQuery(".Sub_Sub").hide();
		  
		  jQuery(".MainM").click(function()
		  {
			jQuery(this).next().slideToggle(500);
		  });
		  jQuery(".Sub").click(function()
		  {
			jQuery(this).next().slideToggle(500);
		  });
		});


Пример брал отсюда:
http://designgala.com/how-to-expand-...-using-jquery/
Тут прикол в том, что их код не совсем подходит, т.к. он открывает почему-то только первый div, а потом заканчивает работу
Ответить с цитированием
  #5 (permalink)  
Старый 17.05.2013, 09:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от titans
ну хорошо. Давайте по другому.
<div class="MainM">Main1</div>
	<div class="Sub">Sub1</div>
	<div class="Sub">Sub2</div>
		<div class="Sub_Sub">Sub_Sub1</div>
		<div class="Sub_Sub">Sub_Sub2</div>
Это вообще шлак!

Я х/з что тебе нужно в итоге... Но как вариант посмотри вот это
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтобы text() брал только текст родителя без текста вложенных контейнеров? Andrey32 jQuery 3 23.05.2009 01:33
Как определить id дочернего элемента DOM? Motonto Events/DOM/Window 1 09.04.2009 08:13
Как поменять местами элементы в дереве элемента родителя? rar11 Events/DOM/Window 8 01.04.2009 18:53
Как передеть css файл родителя фрейму? Zeal Events/DOM/Window 9 21.10.2008 16:47
как отделить нажатие символьных клавиш от функциональных? Kos Events/DOM/Window 50 03.10.2008 12:08