- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Fri, 30 Nov 2012 16:07:09 -0800
- To: Boris Zbarsky <bzbarsky@mit.edu>
- Cc: WHATWG <whatwg@lists.whatwg.org>
On Fri, Nov 30, 2012 at 1:31 PM, Boris Zbarsky <bzbarsky@mit.edu> wrote: > On 11/30/12 2:23 PM, Tab Atkins Jr. wrote: >> It would be somewhat cleaner if she could simply construct a >> DOMStringMap and assign it, like so: >> >> for(var i = 0; i < cards.length; i++) { >> cards[i].dataset = new DOMStringMap(carddata[i]); > > So this would copy the DOMStringMap into the dataset, not actually change > the value of cards[i].dataset, right? Sure. I presume you're afraid of multiple elements sharing the same object? > Given that, would it make more sense to just have a setFrom method on > dataset that takes a string? I guess the problem with that is name > collisions with data items... Yes, collisions make this a no-go. > Really, what we want to be able to do here is assign a string to .dataset > and have it do the right thing... WebIDL doesn't really support that very > well; perhaps it should. What would the string be? String-serialized JSON object? Isn't this what [PutForwards] is for? >> Another potentially interesting use-case for this is making it >> possible to "transfer" data-* attributes from one element to another >> with a simple "el1.dataset = el2.dataset;" statement. > > Again, this would copy, not share, yes? Yes. I presume same fear? ~TJ
Received on Saturday, 1 December 2012 02:34:44 UTC