A follow-up to [6578] (which stopped adding expandos to elements that didn't have...
authorJohn Resig <jeresig@gmail.com>
Fri, 25 Sep 2009 17:55:20 +0000 (17:55 +0000)
committerJohn Resig <jeresig@gmail.com>
Fri, 25 Sep 2009 17:55:20 +0000 (17:55 +0000)
commit67d445a703491c90a7d3c46be34bcdceb4d1c896
tree4d2dd78e8190202205091c46463aaa980c77f089
parent67089eedf6f84acd9c16ea2a6dadadf7b13a7c84
A follow-up to [6578] (which stopped adding expandos to elements that didn't have data). That broke jQuery.unique() (so we're now using the unique from Sizzle). Using Sizzle's unique (which also sorts in document order) changed how add, andSelf, parents, nextAll, prevAll, and siblings work. after and before were changed to not use .add() (in order to guarantee their position in the jQuery set). Also, jQuery.data(elem) was updated to return that element's data object (instead of its ID).

$("<div/>").after("<span/>")
=> [ div, span ]
(calling after on a disconnected DOM node adds the nodes to the end of the jQuery set)

$("<div/>").before("<span/>")
=> [ span, div ]
(calling before on a disconnected DOM node adds the nodes to the beginning of the jQuery set)

$("div").add("span")
=> [ div, span, span, div, span ]
(results now come out in document order)

$("div").find("code").andSelf();
=> [ div, code, code ]
(results now come out in document order)

Same goes for .parents(), .nextAll(), .prevAll(), and .siblings().

Exception: .parents() will still return the results in reverse document order.

jQuery.data(elem)
=> { object of data }
(no longer returns the unique ID assigned to the node)
src/core.js
src/data.js
src/manipulation.js
src/selector.js
src/traversing.js
test/unit/core.js
test/unit/data.js
test/unit/manipulation.js
test/unit/traversing.js