Bug Tracker

Ticket #11338 (closed bug: fixed)

Opened 3 years ago

Last modified 2 years ago

Inconsistent behavior with .replaceWith() and disconnected nodes.

Reported by: https://github.com/ironchefpython Owned by:
Priority: low Milestone: 1.8
Component: manipulation Version: 1.7.1
Keywords: Cc:
Blocking: Blocked by:

Description

I noticed odd behavior using replaceWith on disconnected nodes. I use a lot of html fragments, and I was getting strange results depending on the presence or absence of text.

Here is the minimal test case:

> jQuery("<span></span>").replaceWith("<div></div>");
[<div>​</div>​]

>jQuery("<span>foo</span>").replaceWith("<div>bar</div>");
[<span>​foo​</span>​]

This bug may be a duplicate of http://bugs.jquery.com/ticket/7246, however that was closed 15 months ago with no indication of if the non-deterministic behavior is intended.

Change History

comment:1 Changed 3 years ago by timmywil

  • Priority changed from undecided to low
  • Status changed from new to open
  • Component changed from unfiled to manipulation

comment:2 Changed 3 years ago by sindresorhus

comment:3 Changed 3 years ago by Oleg

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

Fixes #11338, .replaceWith should work on detached nodes.

Changeset: c04bfce556616a60cecf0ecaf9cb1f9d048a4747

comment:4 Changed 3 years ago by dmethvin

  • Milestone changed from None to 1.8

comment:5 Changed 2 years ago by ryan.mohr@…

This seems like a pretty major regression seeing that this behavior was supposed to be supported in 1.4. Why is this being pushed back to the 1.8 release instead of being released as a patch?

Note: See TracTickets for help on using tickets.