Javascript.RU

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

Проблема с $(this)
Добрые люди, подскажите!
<ul>
   <li>Menu 1
      <ul style="display:none">
         <li>Menu 1.1</li>
         <li>Menu 1.2</li>
         <li>Menu 1.3</li>
      </ul>
   </li>
   <li>Menu 1</li>
   <li>Menu 1</li>
</ul>


$('ul li').bind('click',function() {
   $('ul li ul').show();
});

Все очень просто, только мое меню имеет ТРИ уровня и писать код к каждому li, ul выйдет очень громоздким.

У меня есть идея, но я не знаю как ее воплотить!

Мне надо чтото типо этого:

$('ul li').bind('click',function() {
   var elements = $(this) + ' ul'; - это синтаксически неправильно!
   $(elements).show();
});

Может есть иной способ.
Буду очень рад помощи!
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2013, 02:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Goodizer,
$('ul li').on('click',function() {
   var elements = $('ul:first', $(this));
   elements.show();
})

Последний раз редактировалось рони, 19.09.2013 в 02:54.
Ответить с цитированием
  #3 (permalink)  
Старый 19.09.2013, 03:00
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Goodizer, http://habrahabr.ru/post/169265/#first_unread
Ответить с цитированием
  #4 (permalink)  
Старый 19.09.2013, 04:45
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

$('ul li').click(function() {
   $(this).find('ul').show();
});
Ответить с цитированием
  #5 (permalink)  
Старый 19.09.2013, 09:50
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Ruslan_xDD Посмотреть сообщение
$('ul li').click(function() {
   $(this).find('ul').show();
});
Так он все дочерние ul откроет...

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

<!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">
$(function (){
	$('li').click(function (event){
		$(this).children('ul').toggle();
		event = event || window.event;
		if (event.stopPropagation) {
			event.stopPropagation();
		} else {
			event.cancelBubble = true;
		}
	});
});
</script>
</head>
<body>
<ul>
	<li>Menu 1
		<ul style="display: none;">
			<li>Menu 1.1
				<ul style="display: none;">
					<li>Menu 1.1.1</li>
					<li>Menu 1.1.2</li>
					<li>Menu 1.1.3</li>
				</ul>
			</li>
			<li>Menu 1.2</li>
			<li>Menu 1.3</li>
		</ul>
	</li>
	<li>Menu 1</li>
	<li>Menu 1</li>
</ul>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 19.09.2013, 15:55
Новичок на форуме
Отправить личное сообщение для Goodizer Посмотреть профиль Найти все сообщения от Goodizer
 
Регистрация: 19.09.2013
Сообщений: 6

Спасибо огромное всем!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с видимостью $(this) chiffenok Общие вопросы Javascript 2 12.08.2013 16:21
Проблема с радио кнопками px379 Общие вопросы Javascript 8 29.07.2013 09:30
$(this) в теле плагина prison47 jQuery 32 03.03.2013 23:50
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12