Bug Tracker

Modify

Ticket #3713 (closed enhancement: fixed)

Opened 4 years ago

Last modified 4 years ago

DOM manipulations on elements not in the DOM

Reported by: scott.gonzalez Owned by: john
Priority: major Milestone: 1.3
Component: core Version: 1.2.6
Keywords: Cc: john
Blocking: Blocked by:

Description

The following works:

$('<div></div>').wrap('<div></div>');

The following fails:

$('<div></div>').appendTo('body').remove().wrap('<div></div>');

The former works because jQuery.clean wraps the created elements in a div, but the div is never removed. Wrap, insertBefore, etc. should probably be updated to work on elements not in the DOM.

If you think it's necessary, you might want to create another ticket to have jQuery.clean remove the extra wrappers it creates.

Change History

comment:1 Changed 4 years ago by john

  • Cc john added
  • Owner set to john

Now it seems like this should be pretty easy. When doing the wrapping just skip the "append to parentNode" step. The element will still be disconnected from the DOM - but that's ok since that's what the intent was.

comment:2 Changed 4 years ago by dmethvin

See also #3940 .

comment:3 Changed 4 years ago by john

  • Status changed from new to closed
  • Resolution set to fixed

This was fixed in 1.3, actually.

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.