長時間用戶,第一次張貼海報。使用JQuery刪除液體創建列表中的重複項
基本上,我有一系列在不同位置的自助服務終端,並使用「液體」我有一個憑證系統,可以自動將與位置相關的所有憑證放入列表中。我還使用此代碼在每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 %}
但是,列表中的一些代金券不止一次出現。這是因爲優惠券分爲三類,有些可以跨越。由於存在多個地點,我無法在憑證上添加任何內容(例如,按鍵或標籤),以阻止其顯示,因爲它可能需要在其他地點顯示。另外,每個人都必須手動調整,並且該系統的要點儘可能地自動化。因此,我使用了一些我非常滿意的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("duplicate")
在隨後加入一行在液體像
{% if div.class != "duplicate" %}
因此不使用那些具有的「複製」一個DIV說希望。這將是很好的。但是我找不到執行它的代碼,甚至不知道它是否可能。我試圖覆蓋這裏的所有角度,並盡我所能地解釋一切。我如此親密,但也許有不同的觀點會奏效,還是有更簡單的方法?我是否在正確的軌道上?任何想法將非常感激。
編輯:這是一個圖像,試圖進一步解釋這一點。 http://img683.imageshack.us/img683/6295/voucherpagehelp.jpg 此外,我添加了更多的代碼,這是從別的地方拉出來,這將有助於解釋滾動系統。對不起,這是不明確的。
在此先感謝。
這個例子工程http://jsfiddle.net/D3cdW/1/有沒有錯誤? – Jack
很好的例子,但他們刪除點擊,如果我刪除了「點擊」功能,我只剩下我以前試過的.remove()。如果有液體功能說「如果div id/class等於???」那麼我會被設置,但我無法找到一個,因此可能需要看看一個全新的戰略,這讓我難倒了。不管怎麼說,還是要謝謝你。 –
我只是不理解爲什麼在從DOM中刪除div之後有空的空間。 – Jack