Как скрыть подменю и щелкнуть ссылку, он снова отобразит подменю...
Я пытался сделать свой собственный код, но он не работает
Я просто хочу создать простое меню, как я могу это сделать?
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<li class="Item1">
<a href="#" >Separador 1</a>
</li>
<ul class="submenu">
<li class="menuitem">
<a href="#"> Submenu 1 </a>
</li>
</ul>
<style>
li{
float:left;
display:inline;
margin-left: 10px;
}
</style>
<script>
$('.item1 a').click(function() {
$(this).children('.menuitem').toggle();
});
</script>
Пытаться
// 'I' capital
$('.Item1 a').click(function() {
//the submenu is the child of the next li of current li
$(this).parent().next().children('.menuitem').toggle();
});
Демо: скрипка
Вы также можете попробовать с .closest()
$('.Item1 a').click(function() {
$(this).closest('li').next().children().toggle();
});
Примечание. Вы предоставляли .item1
класса .item1
поскольку разметка содержит .Item1
где я является капиталом, поэтому всегда убедитесь, что селектор чувствителен к регистру
Попробуй это:
<a href='javascript:toggle()'>Expand/Collapse</a>
<script>
function toggle(){
var div1 = document.getElementById('toggle')
if (div1.style.display == 'none') {
div1.style.display = 'block'
} else {
div1.style.display = 'none'
}
}
</script>
<div id='toggle' style='display:none'>
Чтобы ваш jQuery работал, вам нужно сделать подменю дочерним элементом li:
<li class="Item1"><a href="#" >Separador 1</a>
<ul class="submenu">
<li class="menuitem"><a href="#"> Submenu 1 </a></li>
</ul>
</li>
И затем немного измените JS:
$('.Item1').click(function() {
$(this).children('.submenu').find('.menuitem').toggle();
});
Смотрите здесь в действии: http://jsfiddle.net/nD4u8/
Вы можете добиться того же результата, используя свой код, но вам нужно немного изменить селектор. То, что я вам дал, - это более стандартный способ сделать это.
$('.item1 a').click(function() {
$(this).children('.menuitem').hide();
});
$('.item1 a')
должно быть$('.Item1 a')
.