There is! Ones that spring to mind are Flash, ActiveX, and Java... but these all have their drawbacks.. Mainly security and integration with the browser/DOM.
Flash and Java live in their own little world, by design (and to address security issues). They can't alter the HTML around them. ActiveX has access to the DOM, but also everything else on your computer..
Javascript seems to have found a nice balance between flexibility and security, it can trivially interact and alter the pages HTML/CSS, do "safe" networking, has a decent standard library (which has things like JSON, XmlHttpRequest'sih networking, DOM manipulation and so on). Most importantly, it's available in basically all vaguely-modern browsers, on all platforms, in a consistent manner (compared to CSS)
There are problems with Javascript, but nothing major.. The biggest is the performance.. Load a comment page on digg and watch your CPU usage.. Chance are it will be 100% of one CPU core.. There are projects to improve this, like SquirrelFish, TraceMonkey and other strangely named things.. but the performance is adequate to do some extremely impressive things (Google Spreadsheet, for example).
Basically, Javascript is great, and it's drawbacks aren't nearly as big as the other competitors..