我显然有一些错误,但不知道在哪里?因此,当我点击.link
时,它会正确切换,但当我点击它时,它就会变形,隐藏切换,不会再点击.link再次显示。
$(function() {
$('.link').click(function(event){
event.preventDefault();
$('#link' + $(this).attr('id')).toggle();
});
});
这是我的部分html例如
<li class="link" id="3"> <%= link_to "Kids" %></li>
<ul class="sub-link" id="link3">
<li> <%= link_to "Tops" %></li>
<li> <%= link_to "Trousers" %></li>
<li> <%= link_to "Shoes" %></li>
<li> <%= link_to "Coats" %></li>
</ul>
</ul>
或者如果你有更好的方法来执行此操作,我会全神贯注(我目前正在学习jQuery)。
答案 0 :(得分:1)
确保将HTML修复为此示例。不确定您的链接(<%= link_to "Tops" %>
)我已用<a>
标记替换了它们。那么当然你可以在javascript世界中疯狂并使用id-numbers来查找其他元素。但是如果你想做的就是切换下一个元素。然后不要过于复杂化。
$(function() {
$('.link').click(function(event){
event.preventDefault();
$(this).children('ul').toggle();
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="link" id="3">
<a href="#">Kids</a>
<ul class="sub-link" id="link3">
<li><a href="#">Tops</a> </li>
<li><a href="#">Trousers</a></li>
<li><a href="#">Shoes</a> </li>
<li><a href="#">Coats</a> </li>
</ul>
</li><!-- see this closing </li> where it is and know where it comes from! -->
&#13;