Jon Raasch's notes on Nicholas Zakas's Google Tech Talk "Speed Up Your JavaScript" in which he covers basic performance improvements like local variables for more expensive lookups, avoiding for in loops, casting DOM array-like objects into proper arrays, avoid touching the DOM, use classes to change CSS instead of inline styles.
Christian Heilmann lays out seven rules to better unobtrusive JavaScript, including not making assumptions about JavaScript, the browser and the document. Work with structured markup. If you are traversing a document, maybe there's a solution that can take advantage of CSS's selector mechanism instead. Work with browsers and users. Better understanding of events, and playing nice with namespace, scope, and patterns. And of course, think about the next developer, so keep the code maintainable.
Simon Willison blogs about how JQuery won him over. From its faddish start based around CSS selectors (getElementsBySelector), and method chaining, Simon now sees the library in a new light. Simon shows how jQuery supports modern development best practice such as namespaces, giving a quick nod to the richness of jQuery selectors (DOM, CSS and XPath). JQuery's event handling looks natural and offers an event when the dom is ready. It exposes custom events for non-trivial Ajax requests. Simon's so convinced about jQuery that he's willing to overlook his rule that developers should know how a library works before using it.
A DHTML shell that allows you to query the current browser window. Includes command line JavaScript execution, mouseover DOM query, CSS input, tab completion, profiler and object inspection. Can be configured to run off a bookmarklet, and works in IE, Firefox, Safari and Opera
A table that lists CSS style properties and their JavaScript equivalents. Useful for dynamically setting styles in JavaScript, although the better method, if possible, is to use classes instead, and those classes are styled with CSS. A few are missing, like float which is a reserved word in JavaScript.
Joe Hewitt, in this Dr Dobbs article talks about using the Firebug extensions to inspect and debug Ajax applications (or any browser-based JavaScript application). It also has CSS inspecting capabilities, editing JavaScript on the fly, inspecting HTTP request and responses, logging, breakpoint debugging and profiling. A useful howto.
LowPro is a scripting extension to Prototype written by Dan Webb to make unobtrusive DOM Scripting much easier. Included are an onReady event, adding behaviour using CSS selectors, fixing the this reference to always refer to the element within events, and a mechanism for triggering events.
A list of the CSS Selectors supported by jQuery. It includes the regular gamut of CSS selectors as well as attribute selectors, pseudo-selectors and child selectors.
IE7 is a JavaScript library to make IE behave like a standards-compliant browser. It fixes many CSS issues and makes transparent PNG work correctly under IE5 and IE6.