写这个的效率更高的方法是什么:
if ($('.shipping .price').text() === "FREE"){
$('.shipping .price').addClass('text-primary');
}
OR
$('.shipping .price:contains("FREE")').addClass('text-primary');
答案 0 :(得分:3)
quick test表示if
代码的运行速度比使用contains
选择器的代码快5倍。但是,正如其他人已经在评论中解释的那样,两者并不相同。
通过缓存$('.shipping .price')
这样的呼叫,你可以加快速度:
var elem = $('.shipping .price');
if (elem.text() === "FREE"){
elem.addClass('text-primary');
}
然而,对于几乎所有现实生活中的情况,性能差异根本不重要,你应该选择更有效的选择,以便其他人阅读。如果你真的关心性能(例如,如果你有一个相当大的价格表)你应该使用vanilla JS,在这种情况下大约快10倍。