2013-05-12 32 views
2

我有一個需要使用gridster.js的作業分配,我希望能夠檢查列表項的數據行屬性是否等於某個值,以及它的data-col屬性等於一個值。如果它們的值等於所需的值,並且它們的座標與預期的位置相匹配,我想向該列表項添加一個類爲「true」的類。獲取數據值並應用一個類,如果它等於某個值

我目前正試圖與實現這一目標的清單項目有2初始data-row1一個data-col,我要檢查它是否已被轉移到data-row1data-col1。我試過的代碼是這樣的:

if ($('.hi').data({row: 1, col: 1})) $('.hi').addClass('true'); } 

但是,這個語句導致無論位置如何都添加了真正的類。理想情況下,我想要做的是檢查每個列表項的data-rowdata-col值是否等於正確的值,以及是否添加了true類。然後,我打算使用.each方法來檢查每個列表項是否有一個類true,如果他們這樣做,我想更改包含gridster無序列表的div的背景顏色。

回答

2

這是因爲使用的是data作爲設定器返回一個jQuery對象和在JavaScript對象是truthy值,除了認爲data只返回在jQuery的集合中的第一個匹配元素的值,則可以使用filter方法:

$('.hi').filter(function(){ 
    var $this = $(this); 
    return $this.data('row') === 1 && $this.data('col') === 1; 
}).addClass('true'); 
+0

這已經解決了它最初,但現在添加類,如果Row和Col都在1並不類應用到列表項的問題。任何想法,爲什麼這可能是?附:感謝有關數據方法的信息。我還是Javascript的新手,所以這個解釋很多。 – 2013-05-12 17:48:42

+0

@TonyBarsotti你非常歡迎,你能提供演示嗎?它適用於我http://jsfiddle.net/sdF2Z/ – undefined 2013-05-12 17:52:00

+0

http://interactivemedia.seancohen.com/fa2012/barsotti_anthony/assignment13/我試圖移動「嗨」塊,如果它在右上角手角(第1行,第1列)我想要它然後添加該類的真正的列表項。再次感謝你的幫助! – 2013-05-12 17:55:54

相關問題