【问题标题】:Jquery click selector and for loop madness in shopifyjquery单击选择器和shopify中的循环疯狂
【发布时间】:2014-03-05 07:50:56
【问题描述】:

当您单击子菜单使用 jquery 显示的链接时,我正在尝试制作菜单。问题是子菜单来自shopify中的for循环。所以当我点击触发器打开所有子菜单时,我想我需要一个 each 和一个 this 但不确定这里有一些代码:

<script>
            $(function(){
                $('.trigger').click(function(){
                    $('.accordion').show('fast');
                });
            });
          </script>

              <li class="trigger" ><a href="{{ link.url }}" title="{{ link.title }}" class="sub-menu {% if link.active %}active{% endif %} {% for link in linklists[link.handle].links %}{% if link.active %}active{% endif %}{% endfor %}">{{ link.title }} 
                <span class="arrow">▾</span></a> 
                <div class="dropdown {% if count.size > column_threshold %}dropdown-wide{% endif %}">
                  <ul >
                    {% assign count = 0 %}
                    {% assign split = false %}
                    {% for link in linklists[link.handle].links %}
                      {% capture count %}{{ count }}*{% endcapture %}
                      <li ><a   href="#" title="{{ link.title }}">{{ link.title }}</a></li>
                       {% if linklists[link.handle] != empty %}
                    <li  class="accordion" style="display:none;">
                      {% for link in linklists[link.handle].links %}
                      <a  class="sub-link " href="{{ link.url }}" title="{{ link.title }}">{{ link.title }}</a>
                      {% endfor %} 
                    </li>
                       {% endif %}

下面还有更多内容,但无关紧要,有什么想法吗?

【问题讨论】:

    标签: jquery this selector each shopify


    【解决方案1】:

    编辑

    我试图根据糟糕的描述以及仅包括您认为相关的代码来了解发生了什么,但试试这个。

    $('.trigger').on('click',function(e){
        var self = this;
    
        e.preventDefault();
    
        $(self).find('.sub-link[href="'+self.href+'"]').parent('.accordion').show('fast');
    });
    

    这将从.trigger 获取目标href,查找具有相同href.sub-link,并打开其.accordion 父级。

    如果这仍然不能满足您的要求,您可能会考虑对操作的目标进行更多描述。

    【讨论】:

    • 我已经编辑了我的答案以再次尝试提供帮助,但请记住垃圾中的垃圾。如果它仍然不能满足您的要求,请尝试提供完整的代码(我们甚至看不到第一个 for 循环的结尾)。
    猜你喜欢
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多