Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.12.2011, 09:19
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

Выборка элемента меню
ситуация выбрать меню с открывающимся меню, подменю по умолчанию имеют в стиле display:none; при клике добавляю атрибут display:block;
как теперь выбрать элемент меню (и добавить ему класс) в котором открыто подменю:
примерно мысль такая по выборке
$("#menu li ul[style='display']").prev("#leftmenu li").addClass("tester");

Дерево меню(открытое) такое:
<ul id="menu">
<li><a>text</a></li>
[B]<li><a>text</a>[/B]
  <ul style="display:block;"><li><a>text</a></li></ul>
</li>
<li><a>text</a></li>

нужно изменить стиль для li (выделен жрным)
Ответить с цитированием
  #2 (permalink)  
Старый 01.12.2011, 09:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

utb, обычно с меню что-то делают по неким событиям, происходящим в самом меню... Что мешает выделить нужный пункт меню вместе с открытием подменю?

Т.ч. твоя ситуация не совсем понятна...
Ответить с цитированием
  #3 (permalink)  
Старый 01.12.2011, 09:34
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

просто можно ли сделать такую выборку? а так в компонентах обычно указывается текущий активный элемент
Ответить с цитированием
  #4 (permalink)  
Старый 01.12.2011, 09:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от utb
просто можно ли сделать такую выборку?
Типа как на

<body onload='myFnk()'>


так?
Ответить с цитированием
  #5 (permalink)  
Старый 01.12.2011, 09:43
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

не, выборка получается элемента содержащий др элемент с определенным атрибутом как то так
Ответить с цитированием
  #6 (permalink)  
Старый 01.12.2011, 09:50
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

utb, я спрашивал "в какой момент" производится выборка?

Если по onload например, то можно сделать например так...

<!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">
.tester {
	color: red;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
	$('#menu > li > ul').each(function(){
		if ($(this).css('display')=='block') {
			$(this).parent().children('a').addClass('tester');
		};
	});
});
</script>
</head>
<body>
<ul id="menu">
	<li><a>text</a></li>
	<li><a>text</a>
		<ul style="display:block;">
			<li><a>text</a></li>
		</ul>
	</li>
	<li><a>text</a></li>
</ul>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 01.12.2011, 09:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Или вообще вот так...

<!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">
.tester {
	color: red;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
	$('#menu > li > ul:visible').parent().children('a').addClass('tester');
});
</script>
</head>
<body>
<ul id="menu">
	<li><a>text</a></li>
	<li><a>text</a>
		<ul style="display:block;">
			<li><a>text</a></li>
		</ul>
	</li>
	<li><a>text</a></li>
</ul>
</body>
</html>

Ответить с цитированием
  #8 (permalink)  
Старый 01.12.2011, 09:58
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

нет не сразу, вначале же не видно подменю, а вот когда появляется тогда и выборка.
спасибо, только для элемента li получается:
$('#menu > li > ul:visible').parent().addClass('tester');
?
Ответить с цитированием
  #9 (permalink)  
Старый 01.12.2011, 09:59
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от utb
вначале же не видно подменю, а вот когда появляется тогда и выборка.
Так вот в момент появления и нужно добавлять тот класс!
Ответить с цитированием
  #10 (permalink)  
Старый 01.12.2011, 10:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

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

<!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">
#menu > li > ul {
	display: none;
}
li {
	cursor: pointer;
}
.tester {
	color: red;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
	$('#menu > li > a').click(function (){
		$(this).toggleClass('tester');
		$(this).next('ul').toggle();
	});
});
</script>
</head>
<body>
<ul id="menu">
	<li><a>text</a></li>
	<li><a>text</a>
		<ul>
			<li><a>text</a></li>
		</ul>
	</li>
	<li><a>text</a></li>
</ul>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Находится ли мышка над дивом ? (выпадающее меню) advsm jQuery 31 24.09.2014 17:50
Выборка картинки в меню utb jQuery 2 22.11.2011 09:30
Выпадающие меню like2dev Общие вопросы Javascript 9 21.10.2011 14:09
DOM. Выборка элемента по классу ручками prolapse Events/DOM/Window 6 18.09.2011 18:13
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36