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 –