2013-06-20 1 views
5

2つのjQueryセレクタが同じ要素を正確に選択しているかどうかをプログラムで判断する方法はありますか?私はdivのセットをループし、それらの1つをスキップしようとしています。2つのjQueryセレクタで同じ要素が選択されているかどうかを確認する方法

var $rows, $row, $row_to_skip; 
$rows = $('.row-class') 
$row_to_skip = $('#skipped_row') 

$.each($rows, function (id, row) { 
     $row = $(row); 
     if (!$row == $row_to_skip) { 
      // Do some stuff here. 
     }; 
    }); 

答えて

8

を使用することができます.not()に:

$rows.not($row_to_skip).each(function() { 
    ... 
}); 
3

あなたはjQueryので選択された実際のDOM要素を比較することができます:私が希望することは、このようなものである

var row_to_skip = $row_to_skip.get(0); 
$.each($rows, function (id, row) { 
    if (row !== row_to_skip) { 
     // Do some stuff here. 
    } 
}); 

つのjQueryオブジェクトは常に、互いに異なるだろう、彼らが選択した場合でも同じ要素(2つの空のオブジェクトが異なるのと同じように)。

代わりに、ループ内で比較することが、あなたの場合には、それだけで集合から要素を削除するクリーナーです:

$('.row-class').not("#skipped_row").each(function() { 
    // do stuff 
}); 
4

あなたはjQueryのオブジェクトを渡すことができ.is()

if (!$row.is($row_to_skip)) { 
      // Do some stuff here. 
    }; 
関連する問題