rmesserle: DollarDom vs jQuery (v4)

Revision 4 of this benchmark created on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script>
  /*
   dollarDom jQuery Plugin v1.0
   Copyright 2011 Robert Messerle
   Site: http://dollardom.robertmesserle.com/
   */
  
  (function($) {
    $.dom = function(str, attr, obj) {
      var tag = str.match(/^[a-z0-9]+/i)[0],
          classes = str.match(/\.[a-z0-9\-\_]+/),
          cl = classes ? classes.length : 0,
          id = str.match(/\#[a-z0-9\-\_]+/),
          i, $ret = $(document.createElement(tag));
      if (attr) $ret.attr(attr);
      if (cl > 0) for (i = 0; i < cl; i++) $ret.addClass(classes[i].substring(1));
      if (id && id[0]) $ret.attr('id', id[0].substring(1));
      if (obj) for (id in obj) if ($ret[id]) $ret[id](obj[id]);
      return $ret;
    };
  })(jQuery);
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
jQuery
$('<div />', {
  text: 'howdy',
  'class': 'holy_smokes',
  css: {
    color: 'red'
  },
  click: function() {
    alert('hi');
  }
});
ready
dollarDom
$.dom('div.holy_smokes', false, {
  css: {
    color: 'red'
  },
  click: function() {
    alert('hi');
  }
});
ready

Revisions

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