Recent Posts

Pain with inline-block (again)

Once again I find myself banging my head against the wall thanks to Firefox’s lack of support for inline-block elements. At least Internet Explorer let’s you set the display of an element to inline-block if it’s an inline element by default (such as span, but won’t work on div). Opera and Safari both supports inline-block,... […]

What do you love/hate about Professional JavaScript?

Will all the excitement over the release of Professional Ajax, 2nd Edition, I didn’t want people to think that I was leaving my first book, Professional JavaScript for Web Developers behind. In fact, I’m now going through it to figure out what should and shouldn’t be in a second edition. To aid in this decision,... […]

.NET to be more like JavaScript

This was an interesting read I found today: New “Orcas” Language Feature: Extension Methods. The point of the post is to discuss a new upcoming feature for .NET languages in which developers can add their own methods to objects without touching the class definition. Essentially, at any point you can add a method to any... […]

The new My Yahoo! Beta has launched, and I helped

For the past nine months, people have been asking me what I’ve been doing at Yahoo! since I joined. They’ve asked me to talk about it, to blog about it, to let everyone know what was the draw that got me to go to Yahoo! over Google so long ago. It was the opportunity to... […]

Another Pro Ajax 2e excerpt

The marketing blitz for Professional Ajax, 2nd Edition has begun. As part of it, you benefit by being privy to free excerpts along the way. The latest excerpt, courtesy of Wiley, is on Ajax Debugging using Microsoft Fiddler. This is a section from the Ajax Debugging chapter of the book. I hope you enjoy it... […]

Free excerpt from Professional Ajax, Second Edition

The good folks at the YUI Blog have just posted an exclusive excerpt from Professional Ajax, Second Edition. Thanks to Eric Miraglia from the YUI team and my editor Jim Minatel for making this deal. It’s incredible to have the support of both of you, I can’t thank either one of you enough. […]

A note on JavaScript performance

There’s a lot of focus on the performance of JavaScript in modern web applications. Sites are routinely panned for being too slow, using too much JavaScript, and interacting sluggishly. There’s a lot of talk about this library being too big, that application using too much code, etc. Typically, the suggested solutions are: Crunch your code.... […]


In response to a previous post, I was challenged to come up with a way to determine that elements had certain similarities without using CSS queries. Since this may benefit others, I decided to spin off the long comment thread into another post. I’ve called my solution getElementsMatching(): function getElementsMatching(tagName, matcher) { var elements =... […]

What’s Nicholas doing now?

Over the past month, I’ve been contacted by people asking my input on JavaScript-related topics for things they’ve been working on. I’m always interested in dropping my opinion on whoever it is that will listen, so I said sure. Now, the first wave of these are hitting the Web. In case you’re bored at work,... […]

What’s the deal with CSS query engines?

Lately, there seems to have been an explosion of client-side CSS query. The current offerings are: jQuery MochiKit Prototype Behaviour DomQuery dojo.query The free market tends to work in such a way as to saturate itself when consumer demand is high, but I really question the value of these engines. Was there really a demand... […]

Copyright © 2004-2016 Nicholas C. Zakas. All Rights Reserved. All code examples on all pages, unless otherwise indicated, are BSD licensed. Blog Feed