Bug Tracker

Opened 13 years ago

Closed 12 years ago

Last modified 10 years ago

#6516 closed bug (fixed)

replaceWith using DOM element with nested script does not run script

Reported by: Phrogz Owned by:
Priority: low Milestone: 1.5
Component: manipulation Version: 1.4.4
Keywords: Cc:
Blocked by: Blocking:

Description

var div = $('<div><script type="text/javascript">alert("hi")<\/script><\/div>'); $('#foo').replaceWith( div[0] );

In jQuery 1.3.2, the above runs the code in the script block. In jQuery 1.4.2, the code is not run.

If you remove the [0], both 1.3 and 1.4 work. You can see test cases at http://phrogz.net/tmp/jquery_js_in_html/

Attachments (2)

test_1.3.html (650 bytes) - added by Phrogz 13 years ago.
Desired Functionality
test_1.4.html (650 bytes) - added by Phrogz 13 years ago.
Failing Functionality

Download all attachments as: .zip

Change History (8)

Changed 13 years ago by Phrogz

Attachment: test_1.3.html added

Desired Functionality

Changed 13 years ago by Phrogz

Attachment: test_1.4.html added

Failing Functionality

comment:1 Changed 13 years ago by dmethvin

Component: unfiledcore

comment:2 Changed 12 years ago by snover

Milestone: 1.4.3

Resetting milestone to future.

comment:3 Changed 12 years ago by addyosmani

Priority: undecided

I can confirm that this issue is present with jQuery 1.4.2, 1.4.3 and 1.4.4, however as mentioned removing [0] does allow the original desired behavior to work Live Test Case.

comment:4 Changed 12 years ago by snover

Status: newopen
Version: 1.4.21.4.4

comment:5 Changed 12 years ago by Timmy Willison

Component: coremanipulation
Milestone: 1.5
Priority: undecidedlow
Resolution: fixed
Status: openclosed

It seems this bug is no longer present according to the test case provided by addy.

comment:6 Changed 10 years ago by kbates90

I see this issue with jquery1.7.2 - has this issue been fixed? I was seeing this issue in my script and moodified the above test script to use jquery1.7.2.js and replaceWith is not running script.

Note: See TracTickets for help on using tickets.