Выборка элемента меню
ситуация выбрать меню с открывающимся меню, подменю по умолчанию имеют в стиле 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 (выделен жрным) |
utb, обычно с меню что-то делают по неким событиям, происходящим в самом меню... Что мешает выделить нужный пункт меню вместе с открытием подменю?
Т.ч. твоя ситуация не совсем понятна... |
просто можно ли сделать такую выборку? а так в компонентах обычно указывается текущий активный элемент
|
Цитата:
<body onload='myFnk()'> так? |
не, выборка получается элемента содержащий др элемент с определенным атрибутом :) как то так
|
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>
|
Или вообще вот так...
<!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>
:dance: |
нет не сразу, вначале же не видно подменю, а вот когда появляется тогда и выборка.
спасибо, только для элемента li получается:
$('#menu > li > ul:visible').parent().addClass('tester');
? |
Цитата:
|
Как вариант...
<!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>
|
Спасибо))
|
| Часовой пояс GMT +3, время: 20:41. |