<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>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js'></script>
var el = document.getElementById('theList');
var html = $(el).html();
var html = el.innerHTML;
$(el).html('<li>Item A</li><li>Item B</li>');
el.innerHTML = '<li>Item A</li><li>Item B</li>';
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
jQuery get html | |
get innerHTML | |
jQuery set html | |
set innerHTML |
Test name | Executions per second |
---|---|
jQuery get html | 72060.5 Ops/sec |
get innerHTML | 81270.9 Ops/sec |
jQuery set html | 160253.4 Ops/sec |
set innerHTML | 320824.9 Ops/sec |
Let's dive into the world of JavaScript microbenchmarks.
Benchmark Overview
The provided benchmark measures the performance difference between two approaches for setting and getting HTML content in an HTML element: using jQuery's .html()
method versus the innerHTML
property directly on the DOM element (el.innerHTML = '<li>Item A</li><li>Item B</li>';
).
Library Used: jQuery
The benchmark uses jQuery, a popular JavaScript library for DOM manipulation and event handling. The jQuery library provides convenient methods like .html()
to set or get the HTML content of an element.
Options Compared
Two options are compared:
.html()
method: This approach uses the $(el).html()
method to set or get the HTML content of an element.innerHTML
property: This approach directly sets or gets the HTML content of an element using the el.innerHTML
property.Pros and Cons
jQuery's .html()
method:
Pros:
Cons:
innerHTML
property:
Pros:
Cons:
Other Considerations
The benchmark only measures the performance difference between these two approaches and does not consider other factors that might impact performance, such as:
Alternatives
Other alternatives for setting and getting HTML content include:
textContent
property instead of innerHTML
, as it may be faster and more secure.