jQuery hasClass vs hide

时间:2013-07-21 05:25:41

标签: jquery performance

对于我的问题,我需要先写一些css。

.hide { display: none; }

现在,在jQuery中,下面两个例子中的哪一个会更快?

if ($('#a').is(':hidden')) {
    $('#a').show();
} else {
    $('#a').hide();
}

if ($('#a').hasClass('hide')) {
    $('#a').removeClass('hide');
} else {
    $('#a').addClass('hide');
}

3 个答案:

答案 0 :(得分:4)

使用类进行操作比调用show / hide函数更快。

这是jsperf:http://jsperf.com/hide-or-class

答案 1 :(得分:0)

我想你可以试试这段代码:

$('a').toggleClass('hide')

它与您的代码相同,但它更小。您可以查看documentation of the toggleClass

答案 2 :(得分:0)

卢卡斯威廉姆斯所说的是正确的。使用toggleClass()函数来减少代码,它比使用hide()和show()方法快得多