0

单击按钮时,我想在下面的 URL 末尾添加“+20-30”。

目前我有:mydomain.com/collections/mens/white

我希望我的网址是 mydomain.com/collections/mens/white+20-30

   <div class="clearfix filter">
            {% assign tags = 'White, Grey, Tan, Neutral, Blue, Black' | replace: ' ,', ',' | replace: ', ', ',' | split: ',' %}
            <p>Filter Color</p>
             <div id="dd" class="mywrap-dropdown-2" tabindex="2">Select
                    <ul class="dropdowner" id="coll-filter">
                        <li><a href="">All</a></li>
                        {% for tag in tags %}
                      {% if current_tags contains tag %}
                      <li><a href="{{ tag | handle }}" class="selected">{{ tag }}</li>
                      {% elsif collection.all_tags contains tag %}
                      <li><a href="{{ tag | handle }}">{{ tag }}</li>
                      {% endif %}
                      {% endfor %}
                    </ul>
                </div>   
        </div>

jQuery:

 $('#coll-filter li a').on('click', function () {
  var newTags = [];
  jQuery('#coll-filter li a').each(function() { 
    if (jQuery(this).attr('href')) {
    newTags.push(jQuery(this).attr('href'));
  }
});
 if (newTags.length) {
   var query = newTags.join('+');
   var newhref = jQuery('{{ 'tag' | link_to_tag: 'tag'    }}').attr('href').replace('tag', query);
    jQuery(this).attr("href", newhref)
   } 
  else {
     {% if collection.handle %}
     window.location.href = '/collections/{{ collection.handle }}';
      {% elsif collection.products.first.type == collection.title %}
    window.location.href = '{{ collection.title | url_for_type }}';
     {% elsif collection.products.first.vendor == collection.title %}
    window.location.href = '{{ collection.title | url_for_vendor }}';
    {% endif %}

  }
 });
4

3 回答 3

1
var newhefc = $(this).attr('href') + '+20-30';
$(this).attr('href', newhefc);

或者更直接:

$(this).attr( 'href', $(this).attr('href') + '+20-30' );

查看您的编辑,其他所有内容都相同且有效,如果您只想添加固定字符串,则应该是

jQuery(this).attr("href", newhref + '+20-30')
于 2012-10-14T22:41:42.977 回答
1

假设您正在更新href链接:

$(this).attr('href', function(i,h) { return h + '+20-30'; });

或者,更简单地说:

this.href += '+20-30';

jQuery 并不总是必需的,但重要的是要记住 jQuery 方法将准确返回在href属性中找到的内容,而本机 DOM 方法(第二个示例)将返回一个绝对/“解析”的完整 URL。

(这些示例包括明确假设this(因此$(this))引用a您尝试更新其href属性的相关元素。)

于 2012-10-14T22:43:11.793 回答
0

看看http://wiki.shopify.com/Link_to_tag

这将为您使用液体创建 url。

于 2012-10-15T01:15:14.667 回答