JQuery if()vs:contains

前端之家收集整理的这篇文章主要介绍了JQuery if()vs:contains前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

写这个更有效的方法是什么:

if ($('.shipping .price').text() === "FREE"){ 
    $('.shipping .price').addClass('text-primary'); 
}

要么

$('.shipping .price:contains("FREE")').addClass('text-primary');
最佳答案
A quick test显示带有if的代码运行速度比带有contains-selector的代码快5倍.但是,正如其他人已经在评论中解释的那样,这两者并不相同.

您可以通过将呼叫缓存到$(‘.shipping .price’)来加快速度,如下所示:

var elem = $('.shipping .price');
if (elem.text() === "FREE"){ 
  elem.addClass('text-primary'); 
}

但是,对于几乎所有现实生活中的情况,性能差异根本不重要,您应该选择更有效的选项,以便其他人阅读.如果你真的关心性能(例如,如果你有一个相当大的价格表)你应该使用vanilla JS,在这种情况下大约快10倍.

猜你在找的jQuery相关文章