【问题标题】:Can't close div无法关闭 div
【发布时间】:2018-09-13 13:01:23
【问题描述】:

所以由于某种原因,这个小脚本在前端给出了一个小错误(它在后端没有给出错误)。所以下面我已经说明了 3 种选项颜色。 Alle 在前端工作正常,但如果您位于最后指定颜色的产品页面(在本例中为绿色),则提供给该 div 的 URL 不会在 div 之后关闭,但它会在下面的 div 上继续。因此,下面的每个 div 都将具有相同的 URL,而不仅仅是应有的 div。其他两种颜色不会出现此错误,因此仅在脚本中的最后一种颜色出现。知道发生了什么吗?

{% if product.title contains "Circle" and product.type == "T-shirts" %}

<a href="/products/black-circle-t-shirt">
{% if product.title contains "Black" %}<span class="black highlightcolor"></span> 
{% else %}<span class="black"></span></a>{% endif %}  

<a href="/products/orange-circle-t-shirt">
{% if product.title contains "Orange" %}<span class="orange highlightcolor"></span>
{% else %}<span class="orange"></span></a>{% endif %} 

<a href="/products/green-circle-t-shirt">
{% if product.title contains "Green" %}<span class="green highlightcolor"></span>
{% else %}<span class="green"></span></a>{% endif %} 

{% endif %}

【问题讨论】:

  • 将所有&lt;/a&gt;s 移出else 块。
  • 上面跟JavaScript没关系,我已经把标签去掉了,把标题改了(反正标题里没有标签)。
  • @DanielBeck - 好地方。错字,投票结束。
  • (我会在下面留下我的答案,以防它对这个用户有用,但同意,这可能应该关闭)

标签: if-statement shopify liquid


【解决方案1】:

目前,您在所有情况下都打开了 &lt;a&gt; 标签,但只在 else 块内关闭它们——这意味着大多数时候您会遇到不匹配的标签。

将所有三个结束 &lt;/a&gt; 移到条件之外:

<a href="/products/black-circle-t-shirt">
  {% if product.title contains "Black" %}
    <span class="black highlightcolor"></span> 
  {% else %}
    <span class="black"></span>
  {% endif %}
</a>

【讨论】:

  • 哇,这么简单哈哈,我已经以为我很接近了。非常感谢丹尼尔!
猜你喜欢
  • 2015-12-28
  • 2016-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-13
  • 2013-03-23
  • 1970-01-01
相关资源
最近更新 更多