Every framework runs in his own iFrame, thus no conflicts can happen. Tests are run selector by selector, with an interval to prevent the browser from freeezing.
Tests are run in a neutral environment, no library or framework is included in the main javascript test, to avoid favoritism.
selectors | prototype 1.6.0 | jQuery 1.2.6 | jQuery 1.3.2 | jQuery 1.4 | ext 2.0 RC 1 |
---|---|---|---|---|---|
* | |||||
div:only-child | |||||
div:contains(CELIA) | |||||
div:nth-child(even) | |||||
div:nth-child(2n) | |||||
div:nth-child(odd) | |||||
div:nth-child(2n+1) | |||||
div:nth-child(n) | |||||
div:last-child | |||||
div:first-child | |||||
div > div | |||||
div + div | |||||
div ~ div | |||||
body | |||||
body div | |||||
div | |||||
div div | |||||
div div div | |||||
div, div, div | |||||
div, a, span | |||||
.dialog | |||||
div.dialog | |||||
div .dialog | |||||
div.character, div.dialog | |||||
#speech5 | |||||
div#speech5 | |||||
div #speech5 | |||||
div.scene div.dialog | |||||
div#scene1 div.dialog div | |||||
#scene1 #speech1 | |||||
div[class] | |||||
div[class=dialog] | |||||
div[class^=dia] | |||||
div[class$=log] | |||||
div[class*=sce] | |||||
div[class|=dialog] | |||||
div[class!=madeup] | |||||
div[class~=dialog] | |||||
final time (less is better) | 0 | 0 | 0 | 0 | 0 |
the faster | the slower | exception thrown or zero elements found | different returned elements |
---|---|---|---|