0

我有一个这样的 HTML:

<div class="paginate">

    <ul>
        <li class="first inactive">
            <a class="page-link" data-number="1">«</a>
        </li>
        <li class="previous inactive">
            <a class="page-link" data-number="1">«</a>
        </li>
    </ul>

</div>

我正在调用这样的 jQuery 函数:

$('.paginate').on('click', 'li a.page-link', function () {

    var self = $(this).parent().parent();

    console.log(self.find('li.first').hasClass('inactive') || self.find('li.previous').hasClass('inactive'));
    console.log(self.find('li.first') == $(this).parent() || self.find('li.previous') == $(this).parent());

}

当呼叫到达时,我的控制台中记录的第一个条件是true,正如预期的那样,但第二个条件总是false我希望一旦我单击具有类firstprevious. 为什么==在这种情况下不起作用?有没有其他方法可以检查 jQuery 中对象的相等性?

4

1 回答 1

4

您可以使用.is()

console.log(self.find('li.first').is($(this).parent()) || self.find('li.previous').is( $(this).parent()));

或者

var $parent = $(this).parent();
console.log($parent.is('li.first') || $parent.is('li.previous'))
于 2013-10-28T11:07:21.053 回答