Aaron, if I only had this classes when I started coding my json/template application :) I am using class name parameters in "data-parameterName- parameterValue" format but this is very limited. Lately I started to use "data-*" attributes but Behavior and BehaviorAPI would be perfect for this project :( a bridge too far ;)
Now I am thinking how to merge this with django :) Thanks, On Jun 28, 7:34 pm, Aaron Newton <[email protected]> wrote: > A couple of things. > > I've got a version of Element.getData published as part of my Behavior work: > > https://github.com/anutron/behavior/blob/master/Source/Element.Data.js > > It's not that complicated, though it includes a get/setJSONData which allows > you to use JSON in the values. > > More interesting though is the BehaviorAPI: > > https://github.com/anutron/behavior/blob/master/Source/BehaviorAPI.js > > The docs are more readable: > > https://github.com/anutron/behavior/blob/master/Docs/BehaviorAPI.md > > Nutshell: you give it a prefix - a namespace for a group of data attributes > - and you get a bunch of tools to work with them. > > <div id="div" data-foo-char="a" data-foo-number="1" data-foo-array="[1,2,3]" > data-foo-options="'char2':'b', 'arr2':[4,5,6], 'bool': false">...</div> > > var api = new BehaviorAPI(document.id('div'), 'foo'); > > api.getAs(Number, 'char'); //throws error > api.requireAs(Number, 'char'); //throws error > api.require('char', 'array', 'baz'); //throws error; baz not defined > > api.setDefault({ > char: 'x', //does not change because char is defined as a > arr3: [6,7,8] > > }); > > api.get('char'); //a > api.getAs(Number, 'number'); //1 << integer > api.getAs(Number, 'notDefined'); //undefined > api.getAs(Array, 'arr2'); [4,5,6]); > > api.getAs({ > 'char': String, > 'char2': String, > 'arr': Array, > 'arr2': Array > > }); //returns { char: 'a', char2: 'b', arr: [1,2,3], arr2: [4,5,6] } > > etc. > > > > > > > > On Tue, Jun 28, 2011 at 9:53 AM, Ryan Florence <[email protected]> wrote: > > jQuery's combination of element storage + data attributes is rather > > elegant. > > > <div id=el data-foo=bar></div> > > > $('#el').data('foo') //> 'bar'; > > > I've been thinking of implementing the same behavior in > > Element.prototype.retrieve, though get('data-foo') is completely adequate. > > > These attributes are incredibly useful in client-side templating and > > declarative JavaScript architectures. > > > As for the tangent on this thread ... If you're concerned about validating > > XHTML, I feel bad for you. > > > On Jun 28, 2011, at 10:00 AM, Arieh Glazer wrote: > > > So what? What does valid mean? Does it break any browser - no. Does it > > break the semantics of the page? no. Does it decrease your ability to use > > the validator to identify syntax errors? maybe - but then again - why not > > simply switch to h5? the browsers couldn't care less about your doctype (as > > documented at several different resources) > > > On Tue, Jun 28, 2011 at 6:40 PM, Steve Onnis <[email protected]>wrote: > > >> It might work but it is not valid XHTML pre HTML5**** > > >> ** ** > > >> *From:* Arian Stolwijk [mailto:[email protected]] > >> *Sent:* Wednesday, 29 June 2011 12:50 AM > > >> *To:* [email protected] > >> *Subject:* Re: [Moo] Re: Custom data attribute**** > > >> ** ** > > >> this does even work in IE6.**** > > >> On Tue, Jun 28, 2011 at 4:12 PM, Steve Onnis <[email protected]> > >> wrote:**** > > >> The comment was in reference to pre HTML5 as it was asked if mootools > >> would support custom attributes for non HTML5 browsers**** > > >> -----Original Message----- > >> From: Tim Wienk [mailto:[email protected]] > >> Sent: Tuesday, 28 June 2011 11:14 PM > >> To: [email protected] > >> Subject: Re: [Moo] Re: Custom data attribute**** > > >> On Tue, Jun 28, 2011 at 15:03, Steve Onnis <[email protected]> > >> wrote: > >> > Keep in mind though that doing that sort of thing will invalidate your > >> XHTML > >> > unless you generate your own dtd schema and implement that > > >>http://dev.w3.org/html5/spec/elements.html#embedding-custom-non-visib... > > >> -- > >> Tim Wienk, Software Developer, MooTools Developer > >> E. [email protected] | W.http://tim.wienk.name**** > > >> ** ** > > > -- > > Arieh Glazer > > אריה גלזר > > 052-5348-561 > >http://www.arieh.co.il > >http://www.link-wd.co.il
