检查jQuery变量是否指向特定的DOM元素

时间:2014-08-18 05:58:10

标签: jquery

http://jsfiddle.net/vq062uhk/

var $currentRow = null;

$(function() {

    $('.set').click(function() {
        $currentRow = $(this).closest('tr');
    });

    $('.check').click(function() {
        console.dir($(this).closest('tr'));

        if ($currentRow == $(this).closest('tr')) {
            alert('Yes');
        }
        else {
            alert('No');
        }
    });
});

我有一个表和一个名为$ currentRow的变量,它引用当前的tr元素。我希望能够检查一个项目(在这种情况下是一个按钮"是当前的?")是否在当前行中。

我可以提供tr的独特身份或属性,但我想知道我是否可以避免这种情况。

3 个答案:

答案 0 :(得分:1)

您应该使用.is()之类的

$currentRow.is($(this).closest('tr'))

演示:Fiddle

答案 1 :(得分:1)

尝试以下代码,

$('.check').click(function(){
    console.dir($(this).closest('tr'));
    if ($currentRow && $currentRow.is($(this).closest('tr'))) {
        alert('Yes');
    }
    else {
        alert('No');
    }
});

Demo

答案 2 :(得分:0)

http://jsfiddle.net/vq062uhk/2/

var $currentRow = null;

$(function(){
    $('.set').click(function(){        
        $currentRow = $(this).parents('tr');
    });

    $('.check').click(function(){
        if ( $currentRow[0] == $(this).parents('tr')[0] ) {
            alert('Yes');
        }
        else {
            alert('No');
        }
    });
});