<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script>
var $jq224 = $.noConflict(true);
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
var $jq211 = $.noConflict(true);
</script>
<div>
<ul id="menu">
<li class="menu-item">1</li>
<li class="menu-item">2</li>
<li class="menu-item">3</li>
<li class="menu-item">4</li>
<li class="menu-item">5</li>
<li class="menu-item">6</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li> <li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li> <li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li>
<li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li> <li class="menu-item">7</li>
</ul>
</div>
function tests($) {
$(".menu-item").eq(2).closest("ul").css({
"background-color": "red"
}).parent().css({
"border": "1px solid blue"
}).append($("<p></p>").text("Text.").css({
"background-color": "green"
})).end().end().remove();
console.log('tests' + $);
}
tests($jq224);
tests($jq211);
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
jquery 2.2.4 | |
jquery 2.1.1 |
Test name | Executions per second |
---|---|
jquery 2.2.4 | 10670.6 Ops/sec |
jquery 2.1.1 | 10728.0 Ops/sec |
The benchmark comparison presented tests two different versions of the jQuery library: jQuery 2.2.4 and jQuery 2.1.1. This comparison aims to evaluate the performance differences in executing a specific manipulation and traversal operation on a set of HTML elements.
1. Options Compared:
The benchmark runs the same test script with both versions in order to compare the number of executions per second, which indicates how efficiently each version performs the task at hand.
The test utilizes the following jQuery methods within the tests
function:
$(".menu-item").eq(2)
: Selects the third .menu-item
element (0-based index)..closest("ul")
: Traverses up the DOM tree to find the closest <ul>
parent of the selected element..css({...})
: Applies CSS properties to the selected element(s)..parent()
: Selects the direct parent element of the current selection..append(...)
: Inserts new HTML content (an <p>
element with text) into the end of the selected elements..end()
: Returns to the previous selection before the last method (useful when chaining multiple operations)..remove()
: Removes selected elements from the DOM.The whole process is executed and timed, with the results showing the performance characteristics of each jQuery version.
Library Purpose: jQuery is a widely-used JavaScript library that simplifies HTML document manipulation, event handling, and animation. It is valued for its ability to work with a variety of browsers consistently.
Alternatives: Some alternatives to jQuery include:
In summary, the benchmark showcases how different versions of jQuery handle a specific DOM manipulation task. Understanding the performance implications can guide developers in making informed choices about which library version to use based on their project needs.