2013-06-20 2 views
5

두 개의 jQuery 선택기가 동일한 정확한 요소를 선택했는지 여부를 프로 그램에서 판별 할 수있는 방법이 있습니까? div 집합을 반복하고 그 중 하나를 건너 뛰려고합니다.두 개의 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 객체는 항상 서로 다를 것이다 그들이 선택한 경우에도 동일한 요소 (두 개의 빈 객체가 다른 것처럼). 당신은 jQuery를 개체를 전달할 수 있습니다

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

당신은 .is()

if (!$row.is($row_to_skip)) { 
      // Do some stuff here. 
    }; 
관련 문제