I have been looking for the ultimate collection of the most useful and common jQuery code snippets for JavaScript over the web for quite some time now. But the world’s not a perfect place and I haven’t come across ‘the’ place where one would get all the information regarding jQuery be it for DOM manipulation and traversal functions, selectors, cheat sheets or performance improvement for JavaScript code which are written through jQuery. Hence this is my small endeavor to put together the most popular and talked about jQuery link collections across the web.

Here you would find links which are related to improve web site performance for your jQuery driven sites as well as helpful guides & tutorials with jQuery code snippets in them which you can basically copy-paste onto your web applications. The main goal was to focus on links which provide enough examples with jQuery code for the most common web development cases.

While this is not the ultimate collection for the most popular jQuery plugins, I have included the most re-tweeted ones through my twitter account search section. Please feel free to add links related to this particular category as well in the comments. I am sure it would be useful to the readers.

Please do keep in mind that this can’t, in no way, be the perfect and most complete collection for all things related to jQuery. Despite the title of the article, it simply can’t be without your efforts. Hence, I would most sincerely urge my valued readers to feel free to post their favorite ones through the comment section. With a little bit of help from you mates, I am sure we can build ‘the ultimate collection’ which we have set forth on achieving. After all, in order to achieve big we need to dream big as well, no? So, please do contribute even if that means posting a single link which adds value to this collection of jQuery links. Only then will this post no longer be a misnomer. Keep this growing to infinity folks!

This is the most exciting game of the two as you need to pick the right players to play the tournament. You can create a maximum of two teams in this game. Do make sure you have both the teams ready come match day on the 22nd because that gives you some insurance against one of your teams not doing well. In that case, you can always fall back upon your second team. The key is to pick two different teams with different combination so as to maximize your chances of success. There are few rules regarding transfers for this game:

Unlimited transfers are allowed only until 12:30 GMT on Sep 22, 2009. Thereafter, you have got 12 transfers available till the group matches get over on Sep 30, 2009. This will be followed by a period of ‘unlimited transfers’ till the first semi-final that starts at 12:30 GMT on Oct 2, 2009. Thereafter there would be 4 transfers allowed for the Semi-finals and Final.

I have created a league named “Velvet Flair Champions Trophy” for this very game. Do join me and rest of the folks to lock horns amongst ourselves and see who has got the best cricket brain to match this contest. In order to join join my League on Cricinfo Fantasy Cricket for the ICC Champions Trophy 2009 you need to use this LPIN:

Be warned this is two post sandwiched into one as I try to delineate Twitter’s Google connection.

On the 5th September, 2009 not only did Google change their logo, but they also tweeted the following message on their @google Twitter feed:

1.12.12 25.15.21.18 15 1.18.5 2.5.12.15.14.7 20.15 21.19

This is a coded message. It’s very simple to decode this message! All you need to do is write down all the letters of the alphabet and number them in sequential order ( A=1, B=2, C=3, and so on). Once you decode this message it will read: “All your O are belong to Us“. It is Google’s reference to the popular internet meme “All your base are belong to us”

Twitter is allowed to “use, copy, reproduce, process, adapt, modify, publish, transmit, display and distribute” your tweets because that’s what we do. However, they are your tweets and they belong to you.

Now can anybody see the connection between Google’s unexplained phenomenon or mystery with Twitter’s change of heart about their terms of service?

Doesn’t the above paragraph about Twitter’s copyright policy sound very contradictory? On one hand, they are saying our tweets are our property while Twitter is allowed to do whatever they like with it. Huh! To me in plain-vanilla English it means – Tweet as you may but “All your Tweets are belong to us” 🙂 What do you guys think? All opinions are welcome because “All your Opinions are belong to me” 😉

As we know, ASP.NET AJAX 4.0 Preview 4 had earlier included outstanding client-centric development features like client-side data binding & client side templates ala XAML for WPF, implementation of observer pattern from scratch in JavaScript, data view controls, support for data sources like ADO.NET Entity Framework, LINQ to SQL etc..

In Preview 5 of ASP.NET AJAX 4.0 there has been improvement on the client-side data story (data binding et al.) introduced in previous previews of ASP.NET AJAX. In this release, there has been bug fixes and feature enhancements for the following:

ObservableData with JavaScript which has been implemented from scratch using the classic observer design pattern.

JSONP Usage.

Recursive Template Usage.

Two new script files have been included with the download for UpdatePanel compatibility issues basically:

MicrosoftAjaxWebForms.js
MicrosoftAjaxWebForms.debug.js

Changes

Here I am describing few of the major changes in this release as were outlined in the release notes:

Declarative Attribute Changes

It is no longer necessary to include a sys:activate attribute on the body of a page containing declarative markup.

Top Level Bindings

Support for “top level” expressions and bindings. Previously these were only supported within the context of a template marked with sys-template. For example, to bind the value of an input to a javascript object, you might do this:

<input sys:value="{binding bar,source={{foo}} }" />

This binds the value to the ‘bar’ field of a global ‘foo’ object. You can use other bindings to update the value, or directly with Sys.Observer:

Sys.Observer.setValue(foo, “bar”, “newValue”);

Binding the content of an element as text or HTML

You may bind to the content of a node using the new sys:innertext and sys:innerhtml attributes. Choose the appropriate attribute depending on whether or not you want to allow HTML in the value to be interpreted as HTML. For example, if you have a variable named ‘foo’ set to the value “<p>hello</p>”:

<div sys:innertext=”{{ foo }}”></div>

Will result in seeing <p>hello</p> in the browser.

<div sys:innerhtml=”{{ foo }}”></div>

Will result in the <p> tag being interpret as a paragraph tag.

The difference is in how the value is inserted. “sys:innertext” injects a text node with the given value. “sys:innerhtml” sets the innerHTML of the target element. Note that while “innerText” is an Internet Explorer only concept, “sys:innertext” is not an Internet Explorer only attribute. The name is semantically correct, despite it being implemented differently than IE’s native innerText field.

DataView Improvements

DataView now has the following events:rendering
itemRendering
itemRendered
rendered

Binding Converters and Expandos

Bindings now support the concept of named converters that are set onto the Sys.Binding.converters field. There are none out of the box, but you may now define your own and refer to them by name. For example:

// convert
}
In addition, you may now set expandos onto the binding object and refer to them from your converter. This allows you to semantically describe what you want in a binding in any custom way you require for any specific binding. It allows you to parameterize a converter function. For example, this example sets a ‘format’ expando on the binding object despite that not being a field or property the binding natively has:

Preview 4 was not compatible with UpdatePanel in ASP.NET 3.5 due to changes to the data format UpdatePanel renders, and the inline script it renders in ASP.NET 4.0. The 4.0 scripts are now designed to work with either 3.5 or 4.0 on the server. To support UpdatePanel with these scripts, you must replace the partial rendering script (MicrosoftAjaxWebForms.js) with the 4.0 version. If you do not use an update panel, you must disable partial rendering.

According to Wikipedia “The 404 or Not Found error message is a HTTP standard response code indicating that the client was able to communicate with the server but the server could not find what was requested”. But that’s a tad mechanical I know. So in a more eye-friendly(!) version, here’s my take:

There are times when we mistype a Uri or perhaps the page we wanted to access might have been moved somewhere else by the time we tried to gain access. In those situations, the server returns a HTTP status code of 404 signifying that the requested resource is not available for one reason or the other. This internal error message or page for that matter which is served up by the web server is not very helpful in most cases. This is highly de-motivating from the user’s point of view for all the user wanted was the content and not the reason why the web server can’t find the page. This is frustrating for the visitors which might prevent them from returning again to your site even if that was not a fault of yours.

Hence, it would have been nicer, if you provided the visitor a landing page from where he/she could have re-searched for the page. Or perhaps you could redirect/guide them to the main page from where they could navigate their way to the desired content. This act of re-engaging the visitors ought to go a long way.

Thus, from a web designer or a developer’s point of view, although you can’t prevent the incident from happening, you still can do some sort of damage control by trying to educate & inform the visitors as to the cause of the problem and at the same time guide them towards their desired content. They are, surely, going to be grateful to you and in turn might visit your site more often as opposed to leaving your site permanently having a disgruntled feeling when confronted with a default ugly looking page.

There are literally tens of thousands of such custom made 404 error pages but here are few resources I found exemplary: