2

gridster.js の使用を必要とする宿題があり、リスト項目の data-row 属性が特定の値と等しいかどうか、およびその data-col 属性が値と等しいかどうかを確認できるようにしたいと考えています。それらが目的の値と等しく、それらの座標が意図した位置と一致する場合、「true」のリスト項目にクラスを追加したいと思います。

私が現在これを達成しようとしているリスト項目には、 の頭文字と の頭文字data-row2あり、data-col1移動したかどうかを確認したいと思いdata-row 1ますdata-col 1。私が試したコードは次のとおりです。

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

ただし、このステートメントでは、位置に関係なく true のクラスが追加されます。理想的には、私がやろうとしているのは、各リスト項目の と の値が正しい値に等しいかどうか、data-rowおよびtrue のクラスを追加するかどうかを確認することです。data-col次に、.eachメソッドを使用して、各リスト項目にクラスがあるかどうかを確認することを計画しています。クラスがあるtrue場合は、グリッドスター順不同リストを含む div の背景色を変更したいと思います。

4

1 に答える 1

2

これは、jQuery オブジェクトを返す as setter を使用しており、JavaScript ではオブジェクトは真の値であり、jQuery コレクションで最初に一致した要素の値のみを返すdataことを除けば、次のメソッドを使用できるためです。datafilter

$('.hi').filter(function(){
   var $this = $(this);
   return $this.data('row') === 1 && $this.data('col') === 1;
}).addClass('true');
于 2013-05-12T17:38:46.870 に答える