jquery - 使用 JQuery 删除液体创建列表中的重复项

标签 jquery list duplicates liquid

长期用户,第一次发帖。

基本上,我在不同的位置有一系列售货亭,并且使用“液体”,我有一个优惠券系统,可以自动将与某个位置关联的所有优惠券放入列表中。我还使用此代码在每 10 个条目后启动一个新列表。然后使用 jQuery,我添加了滚动条以在列表之间滑动。其代码非常简单:

{% for voucher in vouchers %}
{% capture modulus %}{{ forloop.index0 | mod:10 }}{% endcapture %} 
{% if forloop.index0 != 0 %} 
{% if modulus == "0" %} 
</ul></li><li><ul class="voucherlist"> 
{% endif %}
{% endif %}
<div id="{{ voucher.meta }}" class="voucher_list">
    <li><a href="{{ 'voucher' | url_for_page : voucher.id }}">{{ voucher.meta }}</a></li>
</div>
{% endfor %}

但是,列表中的某些优惠券出现多次。这是因为优惠券分为 3 类,有些可以交叉。由于存在多个位置,我无法向凭证添加任何内容(例如 key 或标签)以阻止其显示,因为它可能想在另一个位置显示。另外,每个系统都必须手动调整,而该系统的重点是尽可能自动化。因此,我使用了一些我非常满意的jquery。

<script type="text/javascript">
    $(document).ready(function () {
        $('[id]').each(function () {
            var ids = $('[id=' + this.id + ']');
            if (ids.length > 1 && ids[0] == this) {
                $(ids[1]).remove()
            }
        });
    });
</script>

由此您可以看出,我使用了凭证名称作为 div id,然后 jquery 删除了具有相同 id 的任何 div。然而,它在原来的位置留下了一个空格,因此有些页面上有 8 个而不是 10 个。因此我们得出了我的问题。如何删除液体列表中的重复项而不留下任何空格?

我尝试将“.remove()”更改为“.hide()”,但没有用。我把它改成了

.addClass("重复")

希望在液体中添加一条线来表达类似的内容

{% if div.class != "duplicate" %}

因此不要使用那些带有“duplicate”的div。那就太好了。但我找不到执行此操作的代码,甚至不知道这是否可能。我试图在这里涵盖所有角度并尽可能地解释一切。我是如此接近,但也许不同的观点会起作用,或者有更简单的方法吗?我是否走在正确的轨道上?任何想法将不胜感激。

编辑:这是一张尝试进一步解释这一点的图像。 http://img683.imageshack.us/img683/6295/voucherpagehelp.jpg 另外,我还添加了一些从其他地方提取的代码,这将有助于解释滚动系统。抱歉,之前没说清楚。

提前致谢。

最佳答案

这是我对在 Liquid 中删除重复项的看法:

{% assign array = 'c|c|b|b|a|a' | split: '|' %}
{% assign result = array[1] %}

{% for item in array %}
    {% unless result contains item %}
        {% capture result %}{{ result }}|{{ item }}{% endcapture %}
    {% endunless %}
{% endfor %}

{{ result | split: '|' | sort | join: ', ' }}

关于jquery - 使用 JQuery 删除液体创建列表中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892425/

相关文章:

两个不同 vector 中的 C++ 相同对象

jquery.touchSwipe 链接问题

python - 在 Python 中获取函数的平均值

linux - 是否可以在BASH环境中创建和操作对象列表

list - Haskell [x] 和 x 符号 - 作为模式示例

python - 需要从列表中删除重复项。 Set() 函数不起作用。也不是 for 循环方法

javascript - 如何仅在 Javascript 中制作另一个数组的重复值的数组?

javascript - 每 10 秒更改一次图像(作为背景)

javascript - 通过按 ctrl 按钮选择多个项目

javascript - 反向 jquery 倒数计时器