Jquery点击选择器和shopify中的循环疯狂

时间:2014-02-07 18:51:48

标签: jquery this selector each shopify

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

<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 %}

在这之下还有更多,但这是无关紧要的,任何想法?

1 个答案:

答案 0 :(得分:0)

修改

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

$('.trigger').on('click',function(e){
    var self = this;

    e.preventDefault();

    $(self).find('.sub-link[href="'+self.href+'"]').parent('.accordion').show('fast');
});

这将从href获取目标.trigger,查找具有相同.sub-link的{​​{1}},并打开其href父级。< / p>

如果这仍然无法满足您的需求,您可能会考虑采取更具描述性的行动目标。