写这个更有效的方法是什么:
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倍.