Republished with Permission - Original Article
jQuery is a
lightweight open source JavaScript library (only 15kb in size) that in a
relatively short span of time has become one of the most popular libraries on
the web.
A big part of the appeal of jQuery is that it allows you to
elegantly (and efficiently) find and manipulate HTML elements with minimum
lines of code. jQuery supports this via a nice "selector" API
that allows developers to query for HTML elements, and then apply
"commands" to them. One of the characteristics of jQuery
commands is that they can be "chained" together - so that the result
of one command can feed into another. jQuery also includes a built-in set
of animation APIs that can be used as commands. The combination allows
you to do some really cool things with only a few keystrokes.
For example, the below JavaScript uses jQuery to find all
<div> elements within a page that have a CSS class of
"product", and then animate them to slowly disappear:
Figure 1
As another example, the JavaScript below uses
jQuery to find a specific <table> on the page with an id of
"datagrid1", then retrieves every other <tr> row within the
datagrid, and sets those <tr> elements to have a CSS class of
"even" - which could be used to alternate the background color of
each row:
Figure 2
[Note: both of these samples were adapted from code snippets
in the excellent jQuery in Action book]
Providing the ability to perform selection and animation
operations like above is something that a lot of developers have asked us to
add to ASP.NET AJAX, and this support was something we listed as a proposed
feature in the ASP.NET AJAX Roadmap we published a few months ago.
As the team started to investigate building it, though, they quickly realized
that the jQuery support for these scenarios is already excellent, and that
there is a huge ecosystem and community built up around it already. The
jQuery library also works well on the same page with ASP.NET AJAX and the
ASP.NET AJAX Control Toolkit.
Rather than duplicate functionality, we thought, wouldn't it
be great to just use jQuery as-is, and add it as a standard, supported, library in VS/ASP.NET, and then focus our energy building new features that took
advantage of it? We sent mail the jQuery team to gauge their interest in
this, and quickly heard back that they thought that it sounded like an
interesting idea too.