Yup, that makes sense :-) Luke
Jörn Zaefferer wrote: > Luke Lutman schrieb: >> I was thinking of something a little fancier ;-) >> >> jQuery.query = function() { >> var r = {}; >> var q = location.search; >> q = q.replace(/^\?/,''); // remove the leading ? >> q = q.replace(/\&$/,''); // remove the trailing & >> jQuery.each(q.split('&'), function(){ >> var key = this.split('=')[0]; >> var val = this.split('=')[1]; >> // convert floats >> if(/^[0-9.]+$/.test(val)) >> val = parseFloat(val); >> // ingnore empty values >> if(val) >> r[key] = val; >> }); >> return r; >> }; >> >> Then you could use it like so: >> >> http://www.bork.com?foo=helloworld&bar=0.333& >> >> $.query()['foo']; // helloworld (string) >> $.query()['bar']; // 0.333 (number) >> > In that case, you should just assign the result to jQuery.query, eg: > (function() { > > jQuery.query = r = {}; > var q = location.search; > q = q.replace(/^\?/,''); // remove the leading ? > q = q.replace(/\&$/,''); // remove the trailing & > jQuery.each(q.split('&'), function(){ > var key = this.split('=')[0]; > var val = this.split('=')[1]; > // convert floats > if(/^[0-9.]+$/.test(val)) > val = parseFloat(val); > // ingnore empty values > if(val) > r[key] = val; > }); > > })(); > > Considering that location.search does not change. I hope I'm not > confusing something. > > -- Jörn > > _______________________________________________ > jQuery mailing list > discuss@jquery.com > http://jquery.com/discuss/ -- zinc Roe Design www.zincroe.com (647) 477-6016 _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/