Well, the MochiKit.Query module is almost finished. Actually, it only provides DOM related functions. I too don't like chained API for general development, but I think it's much more natural for DOM related operations.
Here are what it provides (see jQuery documentation ;) ) Core functions: - length - size() - get(index) - index(nodeObj) Iter/Traversing functions: - each(callback[, self]) - map(callback[, self]) - filter(callback[, self]) - is(expr) - not(expr) - eq(expr) - slice(start[, end]) - children([expr]) - contents([expr]) - find(expr) - next([expr]) - nextAll([expr]) - prev([expr]) - prevAll([expr]) - siblings([expr]) - andSelf() - end() DOM & Style functions: - attr([value]) - removeAttr(name) - addClass(name) - hasClass(name) - removeClass(name) - toggleClass(name) - html([value]) - text([value]) - val([value]) - css(name[, value]) - position([options]) - offset() - height() - width() - outerHeight() - outerWidth() - append(...) - appendTo(...) - prepend(...) - prenendTo(...) - after(...) - insertAfter(...) - before(...) - insertBefore(...) - wrap(content) - wrapAll(content) - wrapInner(content) - replaceWith(content) - replaceAll(content) - empty() - remove([expr]) - clone([events]) Event binding: - bind(type, callback[, self]) - unbind(type[, callback, self]) - trigger(type[, event]) + shortcut functions to common DOM events like `click, mouseover etc` Effect functions: - animate(how[, options]) - hide(how[, options]) - show(how[, options]) - hover(fnOver, fnOut) - hoverClass(name) + shortcut functions to all MochiKit.Visual effects * jQuery calls the callback in the context of current element while MochiKit.Query invokes the callback in it's original context. So the callback signature are different then jQuery. Also, the effect functions are totally different then jQuery, uses MochiKit.Visual effects. jQuery('div').each(function(i, elem){ // this refers to the current dom element }); MochiKit.Query('div').each(function(elem, i) { // this refers to the callback function or object to which it's bound }); jQuery('div').click(function(evt){ // this refers to the current dom element }); MochiKit.Query('div').click(function(evt){ // this refers to the callback function or object to which it's bound }); The proposed MochiKit.Remote will provide much more clear API and will allow much better control on the requests. 1. MochiKit.Remote.request(options) options.url - the url options.data - the request params options.type = GET or POST options.contentType - the datatype of request contents options.async = default true, false for sync request options.queue = queue management options for async requests 2. MochiKit.Remote.get(url[, data, options]) 3. MochiKit.Remote.post(url[, data, options]) 4. MochiKit.Remote.JSON.get(url[, data, options]) 5. MochiKit.Remote.JSON.post(url[, data, options]) All these functions are similar to MochiKit.Async functions and returns MochiKit.Async.Deferred. Regards .. Amit Mendapara --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "MochiKit" group. To post to this group, send email to mochikit@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/mochikit?hl=en -~----------~----~----~----~------~----~------~--~---