> As for the recommendation to learn native JS: I suggest you instead take the route of learning jQuery. Say goodbye to cross-domain, cross-browser, xmlhttprequest issues. Selectors, manipulation, AJAX, traversing, CSS, effects, it's all there and it works really well.
Spend some time in jQuery and you'll see how much faster you can move on the DOM, and with half the code.
I don't mean to say it replaces JS, because you will always have native JS. But I would recommend not doing stuff like DOM and CSS manipulation and AJAX in pure native JS. jQuery extends JS and acts as a compliment, not a substitute.
But, I think we both agree that JS doesn't get anywhere near the credit it deserves.