jQuery :contains VS .filter (v6)

Revision 6 of this benchmark created by Camme on


Preparation HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<ul id="list" style="overflow: hidden; height: 1px;">
    
</ul>

Setup

for (var i = 0; i <= 500; i++)
    $('#list').append('<li><a href="#">text</a></li>');
  var $A = $('#list').find('li'),
    filter = "ext";
  var regX = new RegExp('<a.*?>' + filter + '</a>', 'gi');

Test runner

Ready to run.

Testing in
TestOps/sec
:contains
var no = $A.not(':contains(" + filter + ")'),
  yes = $A.filter(":contains(" + filter + ")");
ready
.filter
var no = $A.filter(function() {
  return !(regX.test($(this).text()))
}),
  yes = $A.filter(function() {
    return (regX.test($(this).text()))
  });
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.