隐藏和显示div时有一些错误的jQuery代码

时间:2017-10-02 14:39:41

标签: javascript jquery html

我显然有一些错误,但不知道在哪里?因此,当我点击.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)。

1 个答案:

答案 0 :(得分:1)

确保将HTML修复为此示例。不确定您的链接(<%= link_to "Tops" %>)我已用<a>标记替换了它们。那么当然你可以在javascript世界中疯狂并使用id-numbers来查找其他元素。但是如果你想做的就是切换下一个元素。然后不要过于复杂化。

&#13;
&#13;
$(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;
&#13;
&#13;