5
什么是写这个的更有效的方法:JQuery的,如果()VS:包含
if ($('.shipping .price').text() === "FREE"){
$('.shipping .price').addClass('text-primary');
}
OR
$('.shipping .price:contains("FREE")').addClass('text-primary');
什么是写这个的更有效的方法:JQuery的,如果()VS:包含
if ($('.shipping .price').text() === "FREE"){
$('.shipping .price').addClass('text-primary');
}
OR
$('.shipping .price:contains("FREE")').addClass('text-primary');
一个quick test表明,随着if
代码运行速度比快约5倍一个与contains
选择器。但是,正如其他人在评论中已经解释的那样,这两者并不相同。
你可以更通过调用缓存来$('.shipping .price')
这样加快速度:
var elem = $('.shipping .price');
if (elem.text() === "FREE"){
elem.addClass('text-primary');
}
然而,对于几乎所有的现实场景的性能差异不会在所有问题,你应该去的选项这对其他人来说更有效率。如果你真的关心性能(例如,如果你有一个相当大的价格表),你应该使用vanilla JS,在这种情况下,速度要快10倍。
那么这两个不相等,首先。第二个可以匹配比第一个更多的节点。 – dfsq
即使这个问题本身是模棱两可的......第二显然是更少的代码行和更多*“高效写”*,但并不一定等于*“更有效地处理”* – charlietfl
假设这是关于性能,情况可能会分裂毛发,但这可能是一个很好的阅读:http://stackoverflow.com/questions/111368/how-do-you-performance-test-javascript-code –