jQuery Birthday: 1.1, New Site, New Docs

Posted on by

Great news, everyone! Today is jQuery’s 1 Year “Birthday”! (I released it 1 year ago, today, at BarCamp New York City) In celebration, we’ve got a bunch of stuff for you to enjoy.

1) jQuery 1.1

This is a great release – tons of bug fixes, huge speed improvements, and a big simplification of the outstanding API. It is highly recommend that you upgrade to get all the benefits of this release.

Download Now:

Upgrade Guide:

Please read through these guides before upgrading from 1.0.4 to 1.1 – a number of API changes have been made, and these guides detail how to work through them, and how to use the new jQuery 1.0 Compatibility Plugin to keep 1.0-style functionality in 1.1.

New Features:

  • By all of our counts, jQuery 1.1’s selectors are 10x-20x faster than those in jQuery 1.0.4. This should provide a noticable difference in your jQuery applications.
  • Common selectors like div#id, div .class, td:nth-child(1), and div > div are all significantly faster. It’s a complete world of difference. Try them out and you’ll see.
  • You can now pass in a function as a value for an attribute or a css property. The function is executed and its return value is set as the value for the property. For example:
    // 1.0 Code
    $("a").each(function(){
        $(this).attr("href", "/item/" + this.id);
    }).show();
    
    // 1.1 Code
    $("a").attr("href", function(){ return "/item/" + this.id; }).show();
  • You can now unbind an event handler from within itself. This allows you to have event handlers that are only bound for a specific number of executions, for example:
    $("button").click(function(e){
        // Unbind the event handler if a specific form is hidden
        if ( $("#submitForm").is(":hidden") ) {
            $(this).unbind( e );
        }
    });
  • Easily bind an event that will only occur once (this replaces the old .oneclick() functionality):
    // Show a thank you message for a form submission, but only once
    $("form").one("submit",function(){
        $("#thankyou").show();
    });
  • You can now set the text value of an element (this is different from .html(), where in .text() all HTML is displayed as text).
    $("pre").text("<b>Hello</b>, how are you?");
    
    // Result:
    <pre>&lt;b&gt;Hello&lt;/b&gt;, how are you?</pre>
  • You can now build your own filters, using a custom function. (This was in 1.0, but it wasn’t documented very well.)
    // Find all divs whose parent isn't hidden
    $("div").filter(function(){
      return $(this).parent(":hidden").length > 0;
    });
  • You can now pass a comma-separated list of selectors to the following filter functions:
    filter, find, not, siblings, parents, children, next, prev. This allows you to do some very cool stuff:

    // Find all radio buttons, or checkboxes, in a form
    $("form input").filter(":radio, :checkbox");
    
    // Find the next element that's a span, or a div
    $(this).next("span, div");

2) Refreshed Web Site Design

jQuery Site Screenshot
The design of the jQuery web site has finally be given a much-needed facelift. This was planned out by the fantastic jQuery Design Team and implemented by Nate Cavanaugh. The design team has a full redesign/restructuring planned, but we wanted something that would help us get from our current design to the complete overhaul. Hope you enjoy it – and be sure to thank Nate, Bradley, or Skye for their job well done!

3) Overhauled Documentation

A big point that we’ve been working with, lately, was to really pull together and categorize the jQuery Documentation, Tutorials, and API into one centralized location. The result of this effort is the new:
http://docs.jquery.com/
All jQuery documentation can be found in this one, central, location – making it easier for you to find what you need and get your work done faster. We hope you enjoy this new structuring, please let us know if you have any suggestions for what we can add to make it better.

4) A Secret…

We’ve been holding this one back a while, but we’re finally ready to let it go… There’s a jQuery Book in the works! An excited publisher has stepped up, and the authors are already a quarter of the way complete. There’s still some details in the works, and we’re going to tell all once its getting nearer to completion, but right now it’s looking like we’re going to have a late-Spring/early-Summer release of the first jQuery book!

Blank Book

I hope you enjoy everything – a lot of time and effort has really gone into making this release great. Be sure to thank everyone on the jQuery Team, they’ve put a lot of time and effort into making this release come out really good.

I’ll be doing a “State of the Query” post tomorrow, to talk about where jQuery has come during this past year, and the evangelism team will be doing a couple blog posts about what you can do with the new jQuery 1.1.

Thank you, everyone, for making this a fantastic first year for jQuery.

73 thoughts on “jQuery Birthday: 1.1, New Site, New Docs

  1. Steven A Bristol on said:

    Congratulations to the whole team! As a user and lover of jQuery I am very grateful for all the hard work you guys have put in. Thanks so much!

  2. Joel Birch on said:

    Thanks so much to the jQuery team for their amazing work and also to the entire community for all the support given to each other throughout the last year. You are all so loveable! ;)
    Oh, and… OMG a book! Awesome.

  3. Pingback: Learning jQuery » jQuery 1.1 Released!

  4. Ralph Whitbeck on said:

    I was doing some jQuery work tonight and the new documentation is like a breathe of fresh air… nicely done.

  5. DongDongFace on said:

    Very Cool!!!!!!!!!!
    I am a jQuery super Fans!!!!
    It is useful for my design of webcode!

    Thanks jQuery Design Team !!!! Your are great !

  6. seventoes on said:

    very nice job john! i couldnt live without jquery!

    also, the engrish in the post above is awesome!

  7. Happy Birthday! I love 1.1, I’ve been using svn for some time and it is great. The new website and doc are awesome also. Kudos to all involved.

  8. Looks awesome. Congratulations!
    I hope it captures the imagination of the world the way it has mine.

    One little crit: The main site looks kinda messed up on my IE7 WinXP SP2.

  9. Website background images all disappear onload in ff2 for me. Actually loads at first but says it is still getting something from quantserv and when the page finishes loading that and google analytics, the background suddenly all disappears!

  10. Ooops, sorry, I just realized I had an old greasemonkey script to change the old site white so it was readable. Fine now after removed.

    Still, whatever it is fetching from quantserve is taking ages to load, maybe 10 seconds extra..

  11. Pingback: jQuery 1.1 Selector Speeds at Aaron Heimlich - Web Developer

  12. Congrats on the 1.1 release! I’m having a little trouble navigating the new site. Links like dev/recent/ and dev/bugs are no longer on the footer menu.

  13. Pingback: Interaction Design Blog » Blog Archive » DomQuery is extremely fast

  14. Congratilations, you’ve done a lot for one year – build the excellent jQuery and build the excellent community around it. This library made my life easier.

  15. Doesn’t jQuery have some high profile users? Technorati for instance? Why not put some testimonials on your front page to help beef up your image?

    Oh and happy birthday. :-)

  16. Pingback: NM-blog » Code Igniter and jQuery Autocomplete

  17. Pingback: jQuery 1.1, nueva versión y nuevo sitio web - aNieto2K

  18. Viva la JQUERY! Good work guys! The book sounds great and I’ll make sure to include the 1.1 release announcement in this weeks Juxtaviews roundup. Rock n roll!

  19. Nice one! Thank you very much!

    I got some questions though.. I ran the speed test, here are four results:

    body -> old: 0.2ms -> new: 0ms
    #speech5 -> old: 0.2ms -> new: 0ms
    div #speech5 -> old: 10ms -> new: 45.8ms
    #scene1 #speech1 -> old: 0.4ms -> new: 3ms

    How comes the first two results show only a small difference and why do the last two results are so much slower?!

  20. Way to go guys! This is truely awesome! How many other JS/Ajax libraries out there can boast about getting a book published all about their library? W00T!

    Sweet job *everyone*!

  21. @Dominik: The problem is that contextual ID-searching is an expensive operation. Pre-1.1, all #foo searches were just doing document.getElementById() (which is really fast, but quite wrong). In order to make it right, you have to traverse through all descendant elements to find the element that has a specific ID. It’s slower, but at least right. (And this only effects selectors like “div #foo” or “#foo #bar”)

  22. Pingback: Angel Colberg » Blog Archive » jQuery 1.1 API

  23. Pingback: Ajaxian » jQuery 1.1 is reborn on its first birthday

  24. wesley on said:

    Congrats,

    What’s next for jquery? What new things can we look forward to?

    I’d like to see a jquery-lite.. Let’s face it, claiming that the library is small is no longer true, (uncompressed counts). I want a compressed version under 10kb :)

  25. Doug Martin on said:

    Very cool. I’ve been following jQuery since you did a session at BarCampBoston. I’ll be using it in an upcoming client site. Thanks for all the good work.

  26. @sehmaschine: Hmm. I’m sure you’re seeing some things that aren’t great from your perspective so what I’d like to ask is if you could email the list with suggestions on how to improve the site. Please keep in mind that this whole project is based on volunteer contributions so if you’d like to improve the site, we’re always willing to accept the help. Thanks.

  27. Well done guys! Everyone who help program jQuery really deserves a massive thank you. You’ve done an amazing job at creating something simple and beutiful that is free for anyone to use.

    The design team also deserve massive kdos for redesigning the site. It was really letting the side down before :D

    Well done everyone, I’ll continute to give back to you by creating some plugins to help add to the community!

    THANK YOU!!!

  28. Pingback: » jQuery 1.1 Makes a Big Splash - 15 Days Of jQuery