Проблема с $(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();
});
Может есть иной способ. Буду очень рад помощи! |
Goodizer,
$('ul li').on('click',function() {
var elements = $('ul:first', $(this));
elements.show();
})
|
|
$('ul li').click(function() {
$(this).find('ul').show();
});
|
Цитата:
Как вариант...
<!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>
|
Спасибо огромное всем!
|
| Часовой пояс GMT +3, время: 01:26. |