W3C home > Mailing lists > Public > whatwg@whatwg.org > December 2012

Re: [whatwg] Make DOMStringMap constructable, and el.dataset writeable?

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Fri, 30 Nov 2012 16:07:09 -0800
Message-ID: <CAAWBYDBoj+NDf6euBSjb+EJXoC8adjh50bJgWwZcahXvNp8UYg@mail.gmail.com>
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

This archive was generated by hypermail 2.4.0 : Wednesday, 22 January 2020 16:59:50 UTC