<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<ul id="theList">
<li class="odd">Item 1</li>
<li class="even">Item 2</li>
<li class="odd">Item 3</li>
<li class="even">Item 4</li>
<li class="odd">Item 5</li>
<li class="even">Item 6</li>
<li class="odd">Item 7</li>
<li class="even">Item 8</li>
<li class="odd">Item 9</li>
<li class="even">Item 10</li>
<li class="odd">Item 11</li>
<li class="even">Item 12</li>
<li class="odd">Item 13</li>
<li class="even">Item 14</li>
<li class="odd">Item 15</li>
<li class="even">Item 16</li>
<li class="odd">Item 17</li>
<li class="even">Item 18</li>
<li class="odd">Item 19</li>
<li class="even">Item 20</li>
<li class="odd">Item 21</li>
<li class="even">Item 22</li>
<li class="odd">Item 23</li>
<li class="even">Item 24</li>
<li class="odd">Item 25</li>
<li class="even">Item 26</li>
<li class="odd">Item 27</li>
<li class="even">Item 28</li>
<li class="odd">Item 29</li>
<li class="even">Item 30</li>
</ul>
var els = $('.even');
var els = document.querySelectorAll('.even');
var els = document.getElementsByClassName('even');
var els = $('li.even');
var els = document.querySelectorAll('li.even');
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
jQuery 1.12.4 | |
querySelectorAll | |
getElementsByClassName | |
jQuery 1.12.4: mixed selector | |
querySelectorAll: mixed selector |
Test name | Executions per second |
---|---|
jQuery 1.12.4 | 671377.4 Ops/sec |
querySelectorAll | 1373356.0 Ops/sec |
getElementsByClassName | 3848453.0 Ops/sec |
jQuery 1.12.4: mixed selector | 451926.7 Ops/sec |
querySelectorAll: mixed selector | 1330051.4 Ops/sec |
Let's dive into the explanation of what is tested in the provided JSON.
The benchmark compares three ways to get elements by class name using:
$('.even')
method to select all elements with a class of 'even'.Comparison Options:
Pros and Cons of each approach:
Special Considerations:
The test case "jQuery 1.12.4: mixed selector" uses a mixed CSS selector ('li.even'
) to select elements. This is done to evaluate the performance of jQuery in handling more complex selectors.
The test also includes a mix of fast and slow browser environments (Safari 15) to ensure the benchmark's results are representative of different scenarios.
Alternatives:
If you need an alternative to jQuery, you can consider:
filter
function for similar functionality)Array.prototype.filter()
methodKeep in mind that each approach has its pros and cons, and the choice ultimately depends on your specific use case and requirements.
Now that we've gone through this explanation, you should have a better understanding of what's being tested in the provided JSON.