Mini Tutorial

Posted on by

I’ve been digging through my referrer logs and Technorati to see who’s talking about jQuery. Today I ran across someone who wrote a quick tutorial on how to use jQuery. The tutorial, itself, is rather new (e.g. nothing immediately borrowed from the docs) – so if you’re looking for some more sample code, in addition to the current tutorial, this is another place to look.

Easy Input CSS Rules

Posted on by

I ran across a post on the DOM Scripting blog, the other day, and saw a great opportunity to demo the brevity of jQuery, observe:

Old DOM Way:

function appendInputTypeClasses() {
  if ( !document.getElementsByTagName ) return;
  var inputs = document.getElementsByTagName('input');
  var inputLen = inputs.length;
  for ( i=0; i < inputLen; i++ ) {
    if ( inputs[i].getAttribute('type') ) {
      inputs[i].className += ' '+
        inputs[i].getAttribute('type');
    }
  }
}

New jQuery Way:

$("input").each(function(){
   $(this).addClass(this.type);
});

I'm even considering implementing a new way of circumventing the each() function, observe:

$("input").addClass("{type}");

You really can't get much shorter than that, when it comes to Javascript code. I have quite a few more "old" DOM scripting examples that I'll be posting/improving in the next couple days.

More Documentation

Posted on by

I’ve just finished writing up some more documentation, to help everyone who’s learning how to use jQuery. I’d like to thank Bruno for helping me sort out all the Prototype/jQuery weirdness and Derek for looking at the selector differences.

  • jQuery Base Module. I wrote up how exactly the $() function works and broke up the documentation for all the individual function-types into separate pages.
  • jQuery Selectors. One of the most important parts of jQuery is its ability to quickly select different HTML elements. This page shows how this works and how CSS and XPath can play nicely together.
  • Using CSS with jQuery. This page details the similarities and differences between the CSS 1-3 specifications and how they’re implemented in jQuery.
  • Using XPath with jQuery. An explanation of what basic aspects of XPath are supported, on top of CSS.
  • Custom Selectors. A number of custom selectors were introduced, that weren’t readily available in either CSS or XPath.
  • Using Prototype and jQuery. Finally, detailed documentation on how jQuery works when used with Prototype, what to be careful of, and what to look out for.

My next big step with jQuery is to tune up some of the code, for speed and clarity, (thanks Tim!), write a couple new plugins, and create the new plugin repository for developers to use. All of these should be coming out within the next couple days/weeks.

First jQuery Plugin

Posted on by

Michael Geary contacted me today to let me know that he’s finished the first third-party jQuery plugin. His particular plugin loads in a remote JSON file, which can then be manipulated further. The chaining of this particular request doesn’t serve many benefits, but this is still something that I’m exploring further (maybe jQuery can support JSON-traversing, along with DOM?).

His code reminds me of a templating/JSON plugin that Jordan and I started developing at BarCampNYC, which allows you to import external templating code. I’ll have more details on this plugin soon (and more details on an AJAX plugin that I’m developing, per the requests of a lot of people).

I’m planning on opening up a plugin repository soon, so that plugin authors can submit their code, have an area for documentation and comments, and allow for patches. More details on this, soon.

Announcing the jQuery Blog

Posted on by

I’d like to take this opportunity to announce the jQuery blog. With jQuery having been announced just over a week ago, the response has been enormous. Making it to both del.icio.us popular and the front page of digg just shows how badly Javascript programmers want a better library for writing code with. I’m going to be using this blog to detail the changes that’ve been made to the code, announcing new features, and giving plenty of real-world example. I already have a lot lined up – and I’m looking forward to pushing this forward! As always, if you have any questions concerning jQuery, please feel free to email me.