Modify ↓
Ticket #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: | ||
| Blocking: | Blocked by: |
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
Change History
Changed 3 years ago by Phrogz
-
attachment
test_1.3.html
added
comment:3 Changed 2 years ago by addyosmani
- Priority set to 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 2 years ago by snover
- Status changed from new to open
- Version changed from 1.4.2 to 1.4.4
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.
Note: See
TracTickets for help on using
tickets.

Desired Functionality