opal-jquery provides DOM access to opal by wrapping jQuery (or zepto) and providing a nice ruby syntax for dealing with jQuery instances. opal-jquery provides an Element class, whose instances are toll-free bridged instances of jQuery objects. Just like ruby arrays are just javascript arrays, Element instances are just jQuery objects. This makes interaction with jQuery plugins much easier. Also, Element will try to bridge with Zepto if it cannot find jQuery loaded, making it ideal for mobile applications as well. The request is actually triggered inside the HTTP. get method, but due to the async nature of the request, the callback and errback handlers can be added anytime before the request returns.