Bug Tracker

Modify

Ticket #10656 (closed bug: wontfix)

Opened 19 months ago

Last modified 18 months ago

.removeData( list) does not appear to work

Reported by: josh.gruber@… Owned by: rwaldron
Priority: low Milestone: None
Component: data Version: 1.6.4
Keywords: Cc:
Blocking: Blocked by:

Description

passing a list to removeData is broken as follows (tested in IE 9 and current Chrome):

passing a list does not remove the data:

 http://jsfiddle.net/mKPYN/2/

accessing the data before passing a list causes removeData to error out when passed a list:

 http://jsfiddle.net/mKPYN/3/

And this happens whether the data is assigned via jquery or in the html:

 http://jsfiddle.net/mKPYN/4/

Change History

comment:1 Changed 19 months ago by rwaldron

  • Owner set to rwaldron
  • Status changed from new to assigned
  • Component changed from unfiled to data

comment:2 Changed 19 months ago by rwaldron

  • Priority changed from undecided to low
  • Status changed from assigned to closed
  • Resolution set to wontfix

.removeData() will not remove the actual data-* attributes from the DOM element. To actually remove an attribute, you must use removeAttr()

comment:3 Changed 19 months ago by josh.gruber@…

Please see the third fiddle from the original ticket:  http://jsfiddle.net/mKPYN/4/

comment:4 Changed 19 months ago by josh.gruber@…

For clarification: the third fiddle from the original ticket appears to work, but only because the script errors out before it gets to the line where it would update the DOM.

comment:5 Changed 19 months ago by rwaldron

  • Keywords needsdocs added

jQuery will remove data properties that it has created with data() (these are not placed on the DOM element itself), but will not remove data-* attributes. The extent of jQuery's involvement with data-* attributes is a read-only relationship.

 http://jsfiddle.net/rwaldron/Zc98U/2/

comment:6 Changed 19 months ago by dmethvin

The fiddle was using 1.6.4 and the api page is pretty clear that arrays are a 1.7 feature.

I have updated the .removeData() page to make it excruciatingly explicitly incredibly verbosely clear that we don't touch data- attributes with this api. There is a whole article that says more about the whole topic:

 http://www.learningjquery.com/2011/09/using-jquerys-data-apis

comment:7 Changed 19 months ago by josh.gruber@…

Thank you, I did overlook the "version added: 1.7" on the api documentation, I didn't realize the documentation included unreleased features.

comment:8 Changed 19 months ago by dmethvin

Well jQuery 1.7 is now shipping, as of 10 minutes ago. The docs were updated yesterday. If we don't update the docs before we ship then people won't know what is new. It's hard to do it all simultaneously.

comment:9 Changed 18 months ago by addyosmani

  • Keywords needsdocs removed

Please follow the  bug reporting guidlines and use  jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.