- From: Matthew Phillips <matthew@bitovi.com>
- Date: Fri, 22 May 2015 10:33:57 -0400
- To: Philip Jägenstedt <philipj@opera.com>
- Cc: public-html <public-html@w3.org>
- Message-ID: <CAHm1x+YDpy-Z2dzq39+JA5e=x_M4ufMquodGjMGHrOM8SLCrOg@mail.gmail.com>
I spoke too soon, that workaround won't work for the same reason setAttribute will not. On Fri, May 22, 2015 at 10:30 AM, Matthew Phillips <matthew@bitovi.com> wrote: > Thanks Philip. setAttribute can't be used in my scenario because it > doesn't accept some characters, this will throw: > > el.setAttribute("[foo]", "bar") > > As not being a valid attribute name. However innerHTML will accept these > types of attribute names just fine. > > These special attribute names are started to be adopted by frameworks for > data-binding (Angular 2 is doing something like this I believe). > > Maybe we should adjust what is a valid attribute name? > > For now I think your workaround might work, I'll give it a try. > > On Fri, May 22, 2015 at 8:14 AM, Philip Jägenstedt <philipj@opera.com> > wrote: > >> On Thu, May 21, 2015 at 8:01 PM, Matthew Phillips <matthew@bitovi.com> >> wrote: >> > I just came across a warning for using a deprecated Attr method: >> > >> > >> https://developer.mozilla.org/en-US/docs/Web/API/Attr#Deprecated_properties_and_methods >> > >> > I'm using cloneNode() which is on the list. What is the workaround? >> Will I >> > be able to do Node.prototype.cloneNode.call(attr) instead? >> >> Hi Matthew, >> >> This is related to a simplification of Attr that, if successful, would >> result in Attr no longer inheriting from Node: >> https://dom.spec.whatwg.org/#interface-attr >> >> If that happens, Node.prototype.cloneNode.call(attr) wouldn't work >> either, because attr would no longer be a Node, so it would throw an >> exception. >> >> Your best bet is to avoid Attr entirely, using getAttribute() and >> setAttribute() instead. However, if for some reason you have an Attr >> and want to set the same attribute on another element, >> element2.setAttributeNS(attr.namespaceURI, attr.name, attr.value) >> should do the trick. >> >> Philip (does not work on Gecko, but pokes at Attr in Blink) >> > > > > -- > Bitovi > Development | Design | Training | Open Source > -- Bitovi Development | Design | Training | Open Source
Received on Friday, 22 May 2015 14:34:26 UTC